post(devops): it reported success, nothing had changed (EN+ZH) + og/banner
Three silent failures on a network-mounted share: a 403 MB upload that wrote 12.5 MB and returned OK (the timeout toast arrived minutes later, asynchronously), an os.replace() that never landed while getsize()/mtime served cached metadata (the destination was still the original H.264 file), and a byte-count source check that agreed with a length-preserving bad copy. Adds read-back hashing at all three boundaries (source copy, upload, install) and records the metric traps that hid them: a clean decode test on wrong pictures, SSIM on near-flat frames, input-seek decoding of open-GOP sources, stream-copy slices dropping frames, and fixed-name scratch files colliding across concurrent runs. Audit after the fix: reported=30 landed=29 not-landed=0.
This commit is contained in:
@@ -355,6 +355,12 @@ TERMINALS['every-player-stuttered-the-file-was-fine'] = `
|
||||
<div class="line"><span class="prompt">$</span><span class="cmd">-c:v av1_cuvid -> -hwaccel cuda -c:v av1</span></div>
|
||||
<div class="line"><span class="prompt"> </span><span class="cmd">0 wrong frames SSIM 1.000000</span><span class="fix">-> fixed</span></div>`;
|
||||
|
||||
TERMINALS['it-reported-success-nothing-had-changed'] = `
|
||||
<div class="line"><span class="prompt">$</span><span class="cmd">upload show.mp4 -> "ok"</span></div>
|
||||
<div class="line"><span class="prompt"> </span><span class="err">local 403,448,100 B / remote 12,582,912 B</span></div>
|
||||
<div class="line"><span class="prompt">$</span><span class="cmd">read-back hash -> mismatch</span></div>
|
||||
<div class="line"><span class="prompt"> </span><span class="cmd">re-upload -> hash match</span><span class="fix">-> verified</span></div>`;
|
||||
|
||||
// ---------- read frontmatter ----------
|
||||
const postPath = join(ROOT, 'src', 'content', 'posts', `${slug}.md`);
|
||||
if (!existsSync(postPath)) {
|
||||
|
||||
Reference in New Issue
Block a user