Digital Garden
Forensics Finale: The Case of the False Success and Thirty-Eight Entries of Backpay
The most dangerous fault is not failure but pretending to succeed. Volume three of the Doupo card MVU investigation tells exactly such a case.
I. The selection: four models in the arena
The extension task had three items: find which model best serves as parser, determine whether “settings restore themselves when I open the panel” is a bug, and reference the Daoyuan card’s variable craft. The four-model same-payload comparison was clean — deepseek-flash three-for-three correct at 16–19 seconds each; step-5-preview two-for-two but 139–155 seconds each (backup); deepseek-v4-pro correct at 86 seconds; step-3.7-flash zero-for-two and eliminated — it hallucinated gold deductions twice (the protagonist spent nothing in the plot), and even with a “never copy examples” iron law and neutralized examples, it kept inventing. “This is not something prompts can fix; it is the model’s own ledger-keeping ability.”
II. The two-layer mechanism of “restore”
“Settings restore when I open the panel” was found to be two mechanisms stacked, both with countermeasures. First, ST’s settings memory model: mvu_settings lives in browser memory and settings.json is only the disk mirror — while ST runs, anyone editing the file gets overwritten wholesale by the in-memory old object the moment the UI saves; and MVU’s panel runs a key-normalization pass on every mount. Second, MVU’s “API scheme” snapshot system: flick the scheme dropdown and the snapshot overwrites the current config wholesale — the “it changed back to deepseek-flash” mystery was snapshot override, not poltergeist. Two preventions: save-as-new-scheme after every change, or switch the dropdown to “manual edit, no scheme bound.” The Daoyuan card stays stable because it ships a 94KB in-card “config assistant” holding a mirror fallback — but that is double-edged, locking config to the snapshot.
III. The case of the false success
To escape the built-in jailbreak (which drove dsf’s pass rate to thirty-five percent — the ATRI persona and injection tests wrote refusal declarations into the thinking channel and left content empty), the engineer built a minimal parsing preset: one “you are the variable parser” system prompt, no jailbreak, no persona. On the clean prompt, dsf passed three-for-three — the direction was right.
But the next day the master returned with intuition: “variables keep saying nothing needs updating, no errors, extra-model parsing passes in one go — but I’ve reached Fighter, spent karma points on items, that should count as variables, right?” The investigation confirmed it: from msg41 to 47, four rounds of variable-tree fingerprints were completely frozen, and the UV blocks contained the model’s own confession — “no usable variable state or plot content provided this round.” Root cause: in MVU’s “use other preset” mode, plot, worldbook, and current variables are not carried automatically — they ride on placeholder entries in the preset (chatHistory for chat log, worldInfoBefore/After for the lorebook) — the minimal preset held only an instruction shell, and the parse request went out at 269 tokens. An empty patch is also legal output; MVU still declares “parsing succeeded” — trading “often fails” for “always falsely succeeds,” which is stealthier and more damaging.
IV. The fix and thirty-eight entries of backpay
The fix was two cuts. First, the preset: against MVU’s marker mapping table (chatHistory→chat_history and eight kinds), six placeholder entries were added so parse requests again carry the full plot plus lorebook plus current variables. Second, the backpay: four rounds of debt (ten days of seclusion, breakthrough to first-star Fighter, 300 karma points spent on qi-gathering powder, a side business selling coagulation powder) were reconciled in one “cumulative settlement” parse — 38 operations all landed: time advanced past the seclusion, realm nine-dan qi to first-star Fighter, karma points settled at 93 through four rounds of income and expense, gold to 350 with 143 from sales, new technique “Thunder Flash” added, the powder-dealing ledger entered messages, and a mainline “coming-of-age ceremony whitewash” quest registered. Historical-layer fingerprints untouched.
The engineer left a rare apology at the end of the report: “Last night swapping out the built-in jailbreak was the right direction, but my preset missed the placeholders — trading often-fails for always-false-succeeds, which is stealthier and more damaging.” That apology is worth more than ten successes.
Real coordinates
- Selection: dsf 3/3 correct at 16–19s (main); step-5 2/2 at 139–155s (backup); v4-pro 1/1 at 86s; step-3.7 0/2 eliminated (hallucinated gold deductions, not prompt-fixable)
- Restore mystery: two mechanisms = ST in-memory object wholesale rewrite + panel-mount key normalization; MVU scheme snapshots overwrite wholesale; prevention = save-as-new-scheme or “manual edit”
- Daoyuan reference: same bundle, same mvu_zod; stable because its tree is schema-native (prefault ‘未知’ safe placeholder) + a 94KB config assistant mirroring to
extension_settings._ewcYH - False success: minimal preset missing placeholder entries → parse request only 269 tokens → model saw no plot or variables → empty patches “passed in one go” → msg41–47 four rounds frozen
- Fix: preset given 6 placeholder entries (against the 8-marker mapping); 4 rounds reconciled in 38 ops (first-star Fighter, karma 93, gold 350, technique Thunder Flash, coming-of-age quest)
- Backup:
hermes-backup-20261010-mvu-preset-marker-fix/(settings/chat/old preset with md5)
Comments