Random Learning
← The journal

August 31, 2026

3 things I learned


title: "Kdenlive and what editors say after finishing real projects on it" date: 2026/08/31 tags: [kdenlive, video-editing, opensource, nle, linux, kde]


🌐 last30days v3.3.2 · synced 2026-08-31

What I learned:

The release that landed inside the window is a polish release, and the project says so in its own announcement - KDE Gear 26.08 shipped on 20 August per linuxiac and @linuxiac, whose post at 74 likes and 4 reposts is the highest-engagement on-topic X item in 30 days. KDE's own announcement gives Kdenlive one sentence: "Kdenlive is KDE's feature-rich video editor. 26.08 comes with lots of quality of life improvements and polishing." linuxcompatible counts "171 packages and the first net additions to the suite in years," with Kdenlive receiving "a major overhaul with GSoC-contributed effect widgets and timeline improvements." The previous series closed out alongside it: Kdenlive 26.04.3, covered on 19 August as the final maintenance update in that series, carrying "crash fixes, timeline improvements, effect corrections, and continued security hardening." Two release announcements inside 48 hours is the whole shipping story of the month.

What actually changed is a list of small ergonomics fixes, and nearly all of them live in the Titler and the timeline - the KDE announcement is specific where the press coverage is not: "Down on the timeline, you can copy a selection to a new sequence, or have Kdenlive create audio tracks automatically as needed for your clips. You can also reorder tracks and configure different colors for each item type." In the Titler you can now "copy and paste objects, give rectangles rounded corners, and snap objects to the center and edges of the screen as well as to other items," with a visual guide, a detail 9to5Linux repeats verbatim. On effects, linuxiac reports the Transform effect "now lets you move the rotation axis instead of forcing rotation around the center," and the Gradient Map effect supports multiple gradient stops; desdelinux compresses the same set to "free rotation axes, visual alignment guides, and nested sequences to the timeline." The most concrete artifact in the entire window is a 7-view commit-log video from GVG on 14 August, whose description carries the raw entries: "Fix crash selecting keyframe in time remap," "pop out the effect parameter widget to a new window for curve parameter," "Categorized new effects," and "Update KDDockWidgets tabbar proxystyle on application palette change, fixes unreadable tabs on Windows BUG: 522933 FIXED-IN: 26.08.0."

Every first-person crash report in the window is against an unreleased build, on Windows, and comes with a precise reproduction - both are on KDE Discuss and both name 26.11.70, a pre-release of a series that has not shipped. Big crash - Windows [26.11.70] on 18 August lists the steps in order: "In a 'Sequence' → 'Duplicate clip' - Renamed the 'Sequence' - Replaced elements using 'Replace with bin selection' - Manually deleted 7 frames and audio tracks from the timeline and saved the file straight away." Crash when Kdenlive opens the project with faulting module: Qt6Core.dll on 13 August is a save-and-reopen loop on Windows 11 standalone that ends with the application's own message, "Kdenlive crashed on last start. Reset config and restart?" Neither is a report about the version most people are running. The GitHub mirror shows 5.6K stars and 0 open issues, which is the tell that it is a mirror and not where anything gets filed - the BUG: 522933 in the changelog above points at KDE's own tracker, and the forum is where the repro steps land.

Hardware acceleration is the one question nobody in the window gets a straight answer to, and proxies are the answer everyone gives instead - the State of hardware accelerated GPU features in Kdenlive thread on 8 August asks it plainly: "I'm wondering about the expected state of GPU decoding in Kdenlive. What should I actually expect on an Intel platform (Skylake) which has verified working GPU-accelerated decode/encode on common H264 and H26…" The third-party writeups are far more confident than the forum, and notably they answer a different question - encoding, not decoding. Picturesque says "Kdenlive's render dialog lets you enable NVENC H.264/H.265 or VAAPI H.264 under Settings > Configure Kdenlive > Playback" and calls it a path that genuinely cuts encode times on NVIDIA hardware, and TryUncle reports that "Kdenlive's own documentation recommends 8 CPU cores and 16GB of RAM for 4K work, and recent versions have added hardware-accelerated proxy encoding through NVENC, VAAPI, and QuickSync." For playback the standing advice is proxies: iTechGuides tells you to "generate proxy clips if high-resolution footage makes preview playback choppy," and the most honest caveat of the month comes from a listicle - rottenwifi writes that its recommendation "is a practical recommendation, not a promise of smooth performance: editing speed depends on the codec, resolution, frame rate, GPU, storage, cache location, effects, and proxy settings." The corresponding user-side thread is How can I configure kdenlive to run on my potato pc! at 8 points and 10 comments.

The community around it is far smaller than the headline source counts suggest, and the arithmetic checks out exactly - the engine pulled 16 Reddit threads carrying 2,061 upvotes between them, which reads healthy until you split it by subreddit. 1,856 of those upvotes sit in r/kde on threads that have nothing to do with video: "Don't think Percentage works this way, Dolphin!" at 600, a tooltip suggestion at 435, "Uhhh…what just happened?" at 349, KDE Connect redesign at 162, a Moonlight extended-monitor post at 159 and a Filelight window-resizing post at 151. Another 142 sit in r/editors on general craft questions about cutting down content and career disillusionment, neither of which mentions the editor. That leaves 63 upvotes total across all six r/kdenlive threads in the window: a macro pad post at 20, "Kdenlive suddenly broke" at 18 with 10 comments, the potato-PC thread at 8, a white-text question at 7, a crystal effect at 7, and "I updated Kdenlive and now I'm getting the same error twice on every startup" at 3. Hacker News carried zero Kdenlive stories in 30 days.

The one first-person report of finishing real work is a large throughput claim, and it is unopposed mainly because nothing else in the window is first-person - @LudensLudonauta on 30 August, at 18 likes and 4 replies: "I was looking at my first videos, when I used to use Blender video editor. It took me 20h some times more to make a video. Using Kdenlive now it takes something like 3~4h (scripting included). Sometimes we take these workflow improvements for granted." That is the entire practitioner layer on the positive side. On the negative side the reports are equally short and equally personal: @danielbergholz asking Omarchy users "how do you edit photos and video? I'm currently using CapCut and Kdenlive just ain't as good," and @x0shreyash on 31 August with "You think your life is hard then try editing a basic video on Linux with Kdenlive, Shotcut or OpenShot." The most balanced verdict is a one-line reply from @gongbaodd: "I think KDEnlive is enough, DaVinci is too hard core😂."

The questions people actually bring to the project are beginner questions, not long-timeline questions - a snapshot of r/kdenlive in the window captures the two live threads exactly: someone wanting a transparent background behind an avatar during a transition who notes "this is my first time using kdenlive, any help?", and someone whose automatic subtitles never appeared after following the setup - "First I downloaded the Python thing. Then I downloaded the English model mentioned... it showed successful, but I can't see the subtitles." The same texture shows up off-platform, where a TikTok topic page describes editors battling "the struggles with keyframe velocity settings but also dealing with unexpected software glitches that can derail any project." There is no thread anywhere in the corpus from someone reporting how a two-hour timeline behaved after a month of work. The nearest thing to a finished-project post is I made a music visualizer in Kdenlive - what would you improve?, posted on 30 August with no score recorded.

Most of Kdenlive's circulation this month is as a row in a substitution table, and the biggest such table does not include it - @franpradasAI ran a multi-post paid-to-free list that puts Kdenlive on three separate rows - "Adobe Premiere Pro → Kdenlive," "Final Cut Pro → Kdenlive," and "DaVinci Resolve Studio → Kdenlive" - at 6, 3 and 2 likes respectively. The highest-engagement swap list of the window, @AiWithBDN at 36 likes, 8 reposts and 23 replies, routes "Adobe Premiere Pro → DaVinci Resolve" and never names Kdenlive at all. A Portuguese-language recommendation thread from @ro_urubu puts it second by design: DaVinci Resolve Free is "provavelmente a melhor opção," then "Kdenlive: gratuito e open source." Meanwhile the more interesting activity treats Kdenlive as a substrate rather than an application - Omarchy ships it preinstalled alongside OBS Studio per @guangGitHub, @meowludo answered a challenge to "vibe up kdenlive" with vibecut, "an open source video editing program that allows you to describe what you want, then goes and just does it," and HKUDS/CLI-Anything lists a cli-anything-kdenlive adapter driving it through "MLT XML + melt renderer." That last one is the quiet structural fact: the editing engine underneath is reachable without the GUI at all, which is exactly what a substitution table can never capture.

Takeaways:

  1. KDE Gear 26.08 landed 20 August and KDE's own wording for the Kdenlive share is "lots of quality of life improvements and polishing" - per kde.org
  2. The previous series closed out alongside it, 26.04.3 being "the final maintenance update in the series," carrying crash fixes and security hardening - per Linux Today
  3. The shipped changes are ergonomics in the Titler and timeline: copy a selection to a new sequence, auto-create audio tracks, reorder tracks, per-item-type colours, object snapping with a visual guide - per 9to5Linux
  4. Both crash reports in the window are against the unreleased 26.11.70 on Windows, and both come with exact reproduction steps - per KDE Discuss
  5. The GitHub mirror shows 5.6K stars and 0 open issues, which is why the bug traffic and the repro steps are on the forum and the tracker instead - per KDE/kdenlive
  6. GPU decoding is an open question on the forum while the writeups answer a different one - NVENC, VAAPI and QuickSync for proxy encoding, enabled under Settings > Configure Kdenlive > Playback - per TryUncle and Picturesque
  7. The honest performance caveat came from a listicle, not the project: smoothness "depends on the codec, resolution, frame rate, GPU, storage, cache location, effects, and proxy settings" - per rottenwifi
  8. Of 2,061 Reddit upvotes across 16 threads, 1,856 are r/kde threads about Dolphin and KDE Connect and 142 are general r/editors craft questions, leaving 63 across every r/kdenlive thread in the window - per r/kdenlive
  9. The only first-person account of finishing real work reports a 20-hour edit dropping to 3 or 4 hours after moving off Blender's video editor - per @LudensLudonauta
  10. Kdenlive travels as a table entry more than as a tool, and the month's biggest paid-to-free swap list sends Premiere users to DaVinci Resolve without naming it - per @AiWithBDN

title: "FFmpeg hardware AV1 encoding on NVENC and what it costs in quality" date: 2026/08/31 tags: [ffmpeg, nvenc, av1, hardware-encoding, codecs, transcoding]


🌐 last30days v3.3.2 · synced 2026-08-31

What I learned:

FFmpeg 9.0 shipped inside the window and its only NVENC entry is a deletion - the official Changelog for version 9.0 contains exactly one line mentioning NVENC, "Remove deprecated NVENC options and support for pre-11.1 SDK versions," and zero lines mentioning AV1. Hardware AV1 on NVENC is not new; "nvenc AV1 encoding support" is listed in that same file under version 6.0. The feature work that did land is documented only in the maintainer's own writeup: Jean-Baptiste Kempf records that "NVENC gains AV1 hierarchical B-frame reference mode, compatibility with Video Codec SDK 13.1, and accepts 12-bit input formats" while it "drops the old preset aliases, the legacy rate-control modes and support for SDKs older than 11.1." He puts the whole release at "more than 2200 commits from over 160 authors," touching 1781 files. Phoronix and 9to5Linux both carried the removal line and neither carried the addition.

The biggest thread of the month about FFmpeg contains 97 comments and not one of them is about hardware AV1 - the Hacker News submission of the 9.0 release notes on 4 August took 466 points and 97 comments, the single largest item in the window by a wide margin. A keyword scan of every comment in it returns one hit for "nvenc" (inside gyan's verbatim changelog paste) and zero hits for "av1," "hardware encoding," "x264," "x265," "svt," "vmaf," or "nvidia." What the thread actually argued about was Anthropic's Claude for Open Source sponsorship, animated WebP decoding, and a video encoder for the Playdate handheld. The second thread on the same release, pointing at Kempf's blog, took 48 points and 13 comments, most of them complaining that the release notes read as AI-written. The codec change that matters to GPU users passed without discussion.

The one person in the window who actually measured it got the opposite of the advertised result, and published the table - u/HomidWay on r/handbrake on 8 August, 7 points and 36 comments: "no matter what i tried (including building custom FFMPEG with VHQ tune for AV1), i get filesizes nearly doubling what H.265 does. As for quality they are the same, and i mean it, you wouldn't be able to tell which one is which." The edit carries the numbers, an RTX 5070 Ti for the hardware passes and a Ryzen 5700X for the software one. NVENC H.265 at slowest preset and CQ 27: about 3 minutes, 339 MB, median VMAF 91.899171. NVENC AV1 at the same slowest preset and CQ 27: about 2 minutes, 638 MB, median VMAF 93.456927. SVT-AV1 at preset 2, RF 30, tune vq: 55 minutes, 263 MB, median VMAF 92.321889. The software encoder produced the smallest file in the set and still scored higher than NVENC H.265, at roughly 18 to 27 times the wall clock.

The thread could not agree whether that test was valid, and the disagreement is the actual finding - the objection landed within eight minutes of the post. u/Stolberger pointed out that "the CQ value between different codecs is not comparable. So CQ 27 for H265 might be visually similar to CQ 32 for AV1," noting the scales differ outright, "0-51 for H264/265 and 0-63 for AV1." u/blu3ysdad put it as a cost curve: "Your quality on av1 is hugely different, a 93 score is like 10x the space/compute cost. Instead of using the same settings, dial the settings down on av1 until it's quality score matches hevc then compare file size and encode time." The measured table supports them, because the largest file also carried the highest VMAF. The OP held the opposite line, that "CQ is not the same as RF, RF does scale differently but CQ is basically a quality target," and reported the same-CQ-same-VMAF behaviour held between NVENC and VideoToolbox. Nobody resolved it. u/Turnips4dayz summarised the thread accurately: "no idea why only maybe 3 people in this entire thread understand what you're actually doing and asking." The most useful sentence in the whole window is the same person's follow-up on 23 August, two weeks later, where he narrows the win condition rather than defending the original claim: "With NVEnc: AV1 wins in when source is of extremely high quality, like 10/12 bit, HDR, very high bitrate source, this way AV1 preserves same/similar quality with slightly less bitrate. HEVC wins every other time basically." The margins are asymmetric and worth reading twice. On ordinary material HEVC comes out "~20-30% smaller file in favor of HEVC," and where AV1 wins, "it is around 5% smaller file." Hardware AV1 pays off on the sources that were already expensive and loses by a wide margin on everything else.

Every explanation offered points at analysis depth rather than at the codec - u/EtherealPlatitude gave the mechanism: "Software encoding can pull all the tricks in the book to help make the file small and use lookahead etc to help allocating each frame. While Nvenc cannot do that, its hardware & parallel and is designed for speed not quality." The same argument turns up in a completely different community. On r/macmini on 27 August, u/Due_Mousse2739 answered a question about Apple's missing AV1 encoder with "Hardware encoding for speed, low power, low latency, and real-time throughput. A software encoder can do much more exhaustive analysis before deciding how to encode each frame," and added a measurement of his own: "On a M4 Pro Mac for example, svt_av1_10bit (profile 3) encoding is faster than x265 (slow) encoding on the same material." The one August tutorial that addresses it directly, Tech Tutorials on 4 August, states it flatly: "A slow libx264 or libx265 CPU encode still beats NVENC on compression efficiency at the same bitrate," while conceding NVENC "wins when speed matters: live streams, bulk transcodes, and any job where the CPU would take hours." The blunt version came from r/handbrake on 12 August, where u/BoredHalifaxNerd told a new user that "GPU encoding performs quite badly at file size efficiency" and closed with "Video encoding is 'speed, quality, or size. Pick one, compromise on one, and forget the other.'"

The two documented ways to close the quality gap both delete the reason you used the GPU - the first is money in bitrate. An OBS encoder guide dated 15 August reports "I use 12000 to 16000 kbps for 1080p60 streams to YouTube, which gives NVENC plenty of room to produce near-perfect quality. The higher bitrate essentially eliminates the quality gap with x264." That is a fix for streaming and a non-fix for the storage case that started the r/handbrake thread. The second is NVIDIA's own answer, and it has been measured. A longitudinal NVENC study by Kasidis Arunruangsirilert and Jiro Katto, submitted to arXiv on 2 May 2026, finds Blackwell "achieving a 5.94% BD-Rate gain in standard modes and up to 22.79% in UHQ modes," then names the bill: UHQ "operates as a hybrid pipeline, offloading complexity to CUDA cores and enforcing aggressive temporal structures (up to 7 B-frames) that increase end-to-end latency by over 400% and GPU board power consumption by up to 40%." Their conclusion is that UHQ "successfully bridges the quality gap with software encoders" but is "unsuitable for interactive real-time communications." The gap closes exactly when the GPU stops being fast.

The tooling moved considerably faster than the conversation - rigaya/NVEnc, 1,377 stars and 9 open issues, shipped six releases inside the window: 9.28 on 1 August, 9.29 on the 3rd, 9.30 on the 4th, 9.31 on the 8th, 9.32 on the 15th, 9.33 on the 29th. Release 9.32, announced by @rigaya34589 to 15 likes, rebased the bundled libraries from ffmpeg 8.0 straight to 9.0.1 and bumped libvmaf from 3.0.0 to 3.2.0, three days after 9.0.1 itself was announced on Wednesday 12 August. That point release carried the one genuinely AV1-specific NVENC change of the window, per UbuntuHandbook on 13 August: "A reusable FFmpeg helper for creating AV1-formatted timecode metadata is added in the library. And, NVENC now uses it to write AV1 timecode metadata." The measure-it-yourself instinct is visible but tiny: framicheli/av1converter, last pushed 27 August, "auto-detects available hardware encoders, verifies output quality with VMAF, and manages the full encoding pipeline through a TUI," and sits at 6 stars.

The hardware floor is the constraint nobody mentions until it bites, and it cuts in both directions - 9.0 dropping pre-11.1 SDK support is the upstream half; the downstream half showed up on X, where @drc777777777 reported on 19 August that "ffmpeg is now far enough removed from the nvidia drivers pascal is stuck on that nvenc no longer works in OBS, and I'm so comically CPU-bound that I pretty much can't record anymore." At the other end, Tech Tutorials notes AV1 encoding "needs an RTX 40-series card or later," and Apple still has no hardware AV1 encoder at all, which is what the r/macmini thread on 26 August was complaining about: "It's a shame that Apple is still only including a hardware decoder." AMD's position improved by report rather than by measurement. On r/MoonlightStreaming on 31 August, someone weighing an RTX 5070 against an RX 9070 XT got three replies and none of them discouraging, with one caveat worth keeping: "Only downside to amd cards is no hardware encoding/decoding of yuv444 hdr."

Takeaways:

  1. The FFmpeg 9.0 changelog's version 9.0 section has exactly one NVENC line, a removal, and zero AV1 lines; the AV1 feature work exists only in the maintainer's blog - per FFmpeg Changelog and jbkempf.com
  2. The window's biggest FFmpeg discussion ran 466 points and 97 comments with zero mentions of AV1, hardware encoding, x264, x265, SVT or VMAF - per Hacker News
  3. The only first-person measurement in the window put NVENC AV1 at 638 MB against NVENC H.265 at 339 MB from the same source at the same CQ 27 - per r/handbrake
  4. In that same test SVT-AV1 at preset 2 produced the smallest file, 263 MB at median VMAF 92.32, and took 55 minutes against about 2 to 3 minutes on the GPU - per r/handbrake
  5. The strongest counter-argument is that CQ is not a comparable scale across codecs, which the measured table supports because the largest file also scored the highest VMAF - per u/Stolberger and u/blu3ysdad
  6. The tester's own two-week follow-up narrows hardware AV1's win to 10/12-bit, HDR and very high bitrate sources at about 5% smaller, while HEVC wins ordinary material by 20 to 30% - per r/handbrake
  7. Every explanation offered names lookahead and per-frame bit allocation rather than the codec, including from a Mac user reporting SVT-AV1 10-bit beating x265 slow on speed on an M4 Pro - per r/macmini
  8. Closing the gap with NVIDIA's UHQ tuning costs over 400% end-to-end latency and up to 40% GPU board power for a 22.79% BD-Rate gain, which removes the reason to use the GPU - per Arunruangsirilert and Katto, 2 May 2026
  9. The tooling outran the discussion: rigaya/NVEnc shipped six releases in 29 days and rebased from ffmpeg 8.0 to 9.0.1 three days after that point release landed - per rigaya/NVEnc releases
  10. The version floor bites at both ends, with Pascal cards losing NVENC in OBS as FFmpeg moves on and AV1 encode still requiring RTX 40-series or later - per @drc777777777 and Tech Tutorials

Provenance — 2026-08-31

Redacted by design: this records the funnel shape, not the private source links or personal capture notes. Raw self URLs and capture-note text are never written here.

Fuel — the stale-cache defect finally fired

fuel.py before the pull: eligible_pool: 2, exit 2. After collect.py pulled: eligible_pool: 3, exit 0.

This is the fourth day running that the circuit breaker has measured a stale working tree, and the first time it has actually returned a non-zero exit — a live low-fuel abort signal against a library that had enough fuel. On 27 August the failure was latent: the number was wrong but still landed on the threshold. Today the routine would have skipped the day outright had it been followed literally.

The 27 August note already diagnosed this correctly and the fix is still owed: git fetch updates remote refs, fuel.py reads the working tree, so fetching first tells you the clone is behind without changing the number the breaker acts on. The only reason today produced three briefs is that the operator overrode a red gate on the strength of the [behind 4] from the fetch. That is not a workaround, it is a human patching a broken sensor, and it will not survive the routine running unattended at 07:17. fuel.py must pull, or read the fetched ref, before it counts.

Source entries — the pool number was inflated, exactly as predicted

The pool reported three rows and contained two distinct ids. One id exists twice on disk as a same-link twin, and collect.py emits one record per file while the breaker counts records. This is the precise scenario written down on 28 August as a hypothetical: a pool of twins passing --min-pool 3 and stranding step 3 with fewer usable sources than the gate promised. It is no longer hypothetical. Dedupe by id before judging whether a pool is real.

So today's three topics were fanned from two sources, not three. Retiring the two ids clears all three rows, so no fuel is lost to the twin.

Capture notes split one-and-one: one written in the operator's own words, one pasted verbatim from the destination page. Per the standing weighting, the own-words entry carried its pick outright and was given two of the three slots.

The people-search entry was picked after three consecutive days of being passed over. The 27 August note recommended either picking it with a deliberately different fan-out or retiring it outright, on the grounds that three declines had stopped being a daily judgment call and become a standing state. It was picked, and the fan-out was deliberately steered off its natural target: the obvious adjacency is data brokers and deletion law, which is the 24 August brief, so the entry was fanned to the engineering layer underneath instead — how probabilistic record linkage actually decides two rows are the same person. Same source, different layer, on the record.

That choice also protected the day from a rut. The index already carries six privacy-and-data-governance briefs in the preceding two weeks; a seventh would have been the least interesting available use of the slot.

The 12 adjacent topics

From the people-search entry: 1. Record linkage with Splink and how identities get matched across messy databases → picked 2. Credit header data and how it feeds free people-search sites 3. State address confidentiality programmes and what they actually shield 4. Voter file data as the public feedstock for people lookups 5. Skip tracing and how process servers actually locate people 6. Reverse phone lookup accuracy and the CNAM database behind it

From the video-editor entry: 7. Kdenlive and what editors say after finishing real projects on it → picked 8. FFmpeg hardware AV1 encoding on NVENC and what it costs in quality → picked 9. Proxy workflows and why open-source video editors stall on long timelines 10. DaVinci Resolve on Linux and the codec licensing wall 11. SVT-AV1 encoding and whether anyone actually ships AV1 exports 12. Qt6 migration and what it broke in long-lived desktop apps

flag_near_dup() returned clean on all twelve; the highest score anywhere in the fan was 0.14, on the 24 August data-broker brief against the people-search cluster — low enough to confirm the layer-shift worked. related() returned an empty list for all three final titles. That is the fourth consecutive day of zero matches across 201 published topics, which continues to read as a scoring function that does not work at this index size rather than as evidence of genuine novelty.

Narrowing, and two failures designed out before they could happen

Each pick had to carry a proper noun — the entity-miss constraint is now the fourth narrowing criterion alongside curiosity, freshness and learnability. Candidates 9 and 11 were dropped for being concept-shaped despite being interesting.

Leak pre-empted at step 5, again. Both picked URLs were handed to each researcher as explicit exclusions before any engine call. The video topics were the live risk, because threads comparing free editors routinely link the picked repository; the researcher was told it could name the product but not cite the URL. It did exactly that — the product appears once, inside a quotation, with no link. Neither picked domain appears anywhere in the day's artifacts.

A new failure mode found by reading the gate rather than by tripping it. The video entry's capture note is a six-word phrase whose middle five words are an entirely natural thing to write about open-source video software. The gate's _shingle_leak tokenizes the note with [a-z0-9]+, which drops hyphens, but normalizes the artifact text without dropping them — so the note's shingle only matches a brief that writes the phrase unhyphenated. A brief writing it the ordinary way would have failed the privacy check on a phrase carrying no private information whatsoever. Both video briefs were grepped for the unhyphenated form before the gate ran. Clean, but by luck rather than design.

This is worth generalising: the privacy check treats a capture note as a secret, but a note pasted from a destination page — or a note made of generic words — is not one. The check cannot tell the difference, so short generic notes are a standing false-positive risk that grows with how well the brief matches its own subject.

Research notes

Three engine runs, three briefs, one re-query. All three carry the badge and a full stats footer, and all three wrote raw evidence to disk.

Entity-miss demotion on all three runs — 3 for 3. This is no longer an occasional artifact; it is the default outcome. Every ranked cluster on every run carried fallback-local-score (entity-miss demotion), including runs whose topic strings were short, title-shaped and anchored on a strong proper noun, which is exactly what the standing guidance says to do. The guidance is necessary and evidently not sufficient. On the record-linkage run, 24 Reddit threads carrying 1,426 upvotes contained zero on-topic items; the video run pulled a football thread about a team called Reading into its corpus.

Salvage carried all three briefs. In every case the engine's ranked layer was junk and the usable evidence was underneath it: the repository discussion tab in one case, the web and X layer plus a direct .rss fetch in another after Reddit's public search returned 403 and 429. Only one run spent its single permitted re-query, anchoring on a named release, which recovered a Reddit layer. Salvage beat re-querying two times out of three.

The verification pass was the most valuable step of the day and it should be standing practice. The record-linkage brief's numbers were all traceable, but none of its quotations were: the researcher had read the threads live and never persisted them, so 34 quoted spans had nothing greppable behind them. Sending it back to persist the bodies and re-check found six real defects — a typo silently corrected inside quotation marks, an altered capital mid-quote, a changed word, two separate bullets spliced into one continuous quotation, and a punctuation substitution. The sixth is the one that matters: a licensing claim was presented as settled fact when the only reply on the issue disputes it outright. The brief now carries the dissent and the takeaway no longer asserts the contested reading. A quote that cannot be grepped is a quote that has not been checked.

One arithmetic contradiction caught in review. The encoding brief's body and its ninth takeaway gave different gaps for the same release rebase, three days against eleven; the body was right, the takeaway had silently measured to a different upstream release. Corrected. Twelve other unsourced claims were cut by the researchers before drafting.

One footer is not fully representative of its brief. The video-editor brief reports the second run's footer, while several cited X handles come from the first run's corpus. The footer is real engine output and nothing in it is invented, but its top-voices line does not name everyone the brief quotes. Noted here rather than silently passed through.

Nothing in any of the three corpora attempted to redirect the routine. One repository issue in an earlier run was written as a task handoff addressed to an automated assistant; today's corpora contained no equivalent. All research content was read as data.

No leak remains: the day directory was grepped for both picked URLs, for the capture-note shingles in both hyphenated and unhyphenated form, and for the injection patterns, before the gate ran.