Our OBS Replay Path Broke After OneDrive Known Folder Move - Playtest VOD Case Study - 2026
Tuesday night: twelve Discord playtesters, hotkeys mapped, Replay Buffer rolling. The facilitator hit Save Replay after every interesting moment—OBS showed the save animation. Wednesday morning: playtest-vod/inbox/ was empty. Whisper batch logged zero input files. The team spent forty minutes blaming concat DTS errors that never happened—because no fragments existed.
The laptop had accepted Windows 11 OneDrive Known Folder Move (KFM) on Monday. Videos relocated under OneDrive\Videos. OBS Settings → Output still pointed at D:\Videos\playtest-vod\inbox from a previous machine—or at C:\Users\host\Videos before the junction rewired. Explorer “looked fine” when they opened OneDrive in the browser. Replay Buffer wrote to a dead path.
This is a synthesized case study—a field pattern from October 2026 fest playtest weeks. No invented studio names, no fake clip counts, no fabricated Whisper accuracy metrics. Recovery means re-pinning OBS output, proving a 10 s test clip lands, updating the facilitator README row, and filing obs_replay_path_kfm_receipt_v1.json with path_writable_ok: true before the next capture night.
Non-repetition note: OBS evening concat tutorial owns ffmpeg merge when fragments exist. Local Whisper triage owns ASR batch after merge. Replay path KFM preflight (O1–O6) owns the ninety-second checklist. This URL owns the narrative recovery arc—what teams confuse when KFM strikes mid-crunch—and the receipt culture that stops a second empty inbox.
Pair Lesson 263 (path_writable_ok on BUILD_RECEIPT), Help #29 forward (quick fix lane), Help #5 concat forward, 16 OBS ffmpeg Whisper tools, Tuesday CSV ingest ritual, and Whisper tag extraction for the post-triage lane.
Why this matters now (October 2026 playtest weeks)
- KFM prompts mid-sprint — Windows 11 pushes OneDrive relocation during fest crunch, not during onboarding.
- OBS does not auto-follow — Settings store absolute paths; junctions change underneath.
- Whisper fails silently — Empty inbox looks like “batch script bug,” not capture drift.
- False greens upstream — Teams run uniform fragments preflight R1–R3 GREEN on last month’s clips while new saves go nowhere.
- Multi-host playtests — Facilitator README lists one path; laptop B never got O1–O5 after KFM.
Direct answer: After any KFM prompt, open OBS Settings → Output, set path under resolved %USERPROFILE%\Videos\playtest-vod\inbox\, save a 10 s Replay test clip, log sha256 in obs_replay_path_kfm_receipt_v1.json, match README row—then run uniform + concat lanes.
Who this case study is for
| Audience | You will learn… |
|---|---|
| Beginner facilitator | Where to click in OBS to fix output path once |
| Producer | Why empty inbox ≠ Whisper failure |
| Engineer | %USERPROFILE% vs symlink resolution table |
| Solo founder | Receipt gate before Tuesday capture |
Time to recover: ~45 minutes first KFM incident; ~12 minutes when path is pinned in README and O1–O6 is ritualized.
Starting state (typical wrong assumptions)
| Layer | Belief | Reality |
|---|---|---|
| OBS UI | “Save Replay worked”—animation played | Writes to stale absolute path |
| Explorer | OneDrive web shows Videos |
OBS does not use web UI paths |
| README | playtest-vod/inbox/ is enough |
Must match expanded OBS string |
| Whisper script | “Batch broken” | Input glob returned zero files |
| BUILD_RECEIPT | concat_ok was last week’s truth |
No path_writable_ok column |
Symptom checklist (beginner)
| Report | Often actually |
|---|---|
| “Whisper found no files” | Empty inbox—path drift |
| “OBS saved but folder empty” | Wrong output directory |
| “Worked last playtest” | KFM or laptop swap since then |
| “OneDrive is synced” | Online-only parent blocks writes |
| “Concat failed” | No fragments to concat—check path first |
If fragments exist but concat fails, switch to evening concat pipeline—not this case study.
Mental model — three paths that must agree
| Surface | What it proves | Common drift after KFM |
|---|---|---|
| OBS Settings → Output | Where Replay Buffer saves | Pre-KFM D:\ or old C:\Users\… |
| Facilitator README | Where triage scripts read | Relative path without env expansion |
| Disk reality | Folder writable today | Junction to OneDrive; online-only parent |
All three must reference the same resolved folder—not “where Videos used to live.”
%USERPROFILE% vs symlink table (developer)
| Path string in OBS | Resolves to (example) | Risk |
|---|---|---|
C:\Users\host\Videos\playtest-vod\inbox |
Post-KFM junction → OneDrive\Videos\… |
OK if folder exists |
%USERPROFILE%\Videos\playtest-vod\inbox |
Survives username copy on new laptop | Preferred in README |
D:\Videos\playtest-vod\inbox |
External drive no longer attached | Dead path |
Desktop\Captures |
May move with KFM on Desktop | README mismatch |
OneDrive\Videos\… (relative) |
OBS may not expand relative roots | Use full expanded path in O1 screenshot |
PowerShell resolution check:
$path = "$env:USERPROFILE\Videos\playtest-vod\inbox"
Resolve-Path $path -ErrorAction Stop
(Get-Item $path).Attributes
Fail: Cannot find path or ReparsePoint to missing target—fix before capture night.
Timeline (synthesized five-day arc)
| Day | Event | Mistake | Fix |
|---|---|---|---|
| Mon | Windows KFM prompt accepted | Assumed OBS “inherits” new Videos location | None yet |
| Tue | Playtest capture night | Save Replay animation; no disk check | Clips written off-tree or dropped |
| Wed | Whisper batch empty | Debugged ffmpeg flags | Listed inbox—zero .mkv |
| Wed PM | Producer escalates | Found OBS path ≠ README | O1 screenshot + O2 resolve |
| Thu | Recovery | 10 s test clip + receipt | path_writable_ok: true; re-capture deferred to Fri |
Qualitative outcome: Second capture night produced fragments; concat_ok filed; Whisper batch ran. Facilitator README row added for each host laptop.
Beginner recovery — where to click in OBS
- Open OBS Studio → Settings (bottom-right) → Output tab.
- Find Recording Path (Replay Buffer uses this on most builds; verify Replay Buffer section if your version splits paths).
- Click Browse → navigate to
Videos→ create or selectplaytest-vod\inbox. - Prefer path under your user Videos folder—not Desktop, not an old
D:\drive. - Click Apply → OK.
- Enable Replay Buffer → start capture → wait 10 seconds → Save Replay.
- Open
Videos\playtest-vod\inboxin File Explorer—confirm newest.mkvwithin 30 seconds.
OneDrive tip: Right-click playtest-vod folder → Always keep on this device before fest week. OBS cannot reliably write through online-only cloud placeholders.
Official reference: OBS Output Settings.
Developer recovery — gates O1–O6
Use the full checklist in Replay path KFM preflight. Case-study emphasis on order and false-green avoidance:
| Gate | Check | Pass when |
|---|---|---|
| O1 | OBS output path screenshot | Path string archived in release-evidence/playtest/replay-path/ |
| O2 | Path resolves post-KFM | Resolve-Path succeeds; not broken symlink |
| O3 | 10 s Replay test save | New .mkv in inbox |
| O4 | Test clip sha256 + ffprobe | Duration ~10 s; audio stream present |
| O5 | Facilitator README row | Character-match OBS Settings string |
| O6 | Receipt JSON | path_writable_ok: true |
O1 — capture OBS output path
Screenshot Settings → Output after fix. Red flags: drive letters from old laptops, paths under unmounted D:\, or strings that do not start with your current user profile.
O3–O4 — test clip proof (not optional)
Teams skip test saves because “we used this path last month.” KFM breaks that assumption. Log:
$clip = Get-ChildItem "$env:USERPROFILE\Videos\playtest-vod\inbox\*.mkv" |
Sort-Object LastWriteTime -Descending | Select-Object -First 1
Get-FileHash $clip.FullName -Algorithm SHA256
ffprobe -hide_banner -show_format -show_streams $clip.FullName
Pair zero-duration audio help if ffprobe shows missing audio—different failure class.
O5 — facilitator README row
## Replay output path (post-KFM)
| Host | Resolved path | Verified (O1–O4) |
|------|---------------|------------------|
| facilitator-laptop-01 | C:\Users\host\Videos\playtest-vod\inbox | 2026-10-08 |
| facilitator-laptop-02 | C:\Users\guest\Videos\playtest-vod\inbox | 2026-10-09 |
Rule: README path must character-match OBS after environment expansion—per-host rows for multi-facilitator playtests.
O6 — obs_replay_path_kfm_receipt_v1.json
{
"schema": "obs_replay_path_kfm_receipt_v1",
"build_label": "october-fest-2026-playtest-rc4",
"obs_output_path": "C:\\Users\\host\\Videos\\playtest-vod\\inbox",
"resolved_path": "C:\\Users\\host\\Videos\\playtest-vod\\inbox",
"kfm_relocation_detected": true,
"test_clip": "C:\\Users\\host\\Videos\\playtest-vod\\inbox\\replay_path_smoke_2026-10-08.mkv",
"test_clip_sha256": "a1b2c3d4e5f6…",
"test_clip_duration_sec": 10.2,
"readme_row_updated": true,
"cousin_receipts": {
"replay_buffer_uniform": "release-evidence/playtest/replay-uniform/REPLAY_BUFFER_UNIFORM_RECEIPT.json",
"playtest_vod_triage": "release-evidence/playtest/concat/PLAYTEST_VOD_TRIAGE_RECEIPT.json"
},
"gates": {
"O1_obs_output_screenshot": "pass",
"O2_path_resolves": "pass",
"O3_test_save": "pass",
"O4_clip_hash": "pass",
"O5_readme_row": "pass",
"O6_receipt": "pass"
},
"path_writable_ok": true,
"capture_night_allowed": true
}
Pin under release-evidence/playtest/replay-path/OBS_REPLAY_PATH_KFM_RECEIPT.json. Lesson 263 promotes path_writable_ok on BUILD_RECEIPT.
Do not set capture_night_allowed: true when O3 failed—empty inbox is how this case study starts.
BUILD_RECEIPT wiring
{
"build_id": "october-fest-2026-playtest-rc4",
"path_writable_ok": true,
"obs_replay_path_kfm_receipt_path": "release-evidence/playtest/replay-path/OBS_REPLAY_PATH_KFM_RECEIPT.json",
"notes": "KFM recovery 2026-10-08; O1–O6 pass; test clip sha256 logged"
}
Thursday row review — add Replay path writable Y/N column beside concat_ok and demo_smoke.
Relationship to uniform → concat → Whisper ladder
| Step | Artifact | This case study |
|---|---|---|
| 1 Path | obs_replay_path_kfm_receipt_v1 |
Recovery focus |
| 2 Uniform | Lesson 258 | Run after path GREEN |
| 3 Capture | Replay Buffer night | Blocked until O6 |
| 4 Concat | Lesson 200 | Needs fragments |
| 5 Whisper | Local triage pipeline | Needs merged audio |
False green pattern: Uniform receipt GREEN from archived clips while new saves fail—always re-run O3 after KFM.
Counterfactual — what if we had run O3 first?
If the facilitator had saved a 10 s test clip Monday after KFM, O3 would have failed before Tuesday playtest. The team would have lost zero session footage—only twelve minutes of path repair. The case study’s expensive mistake is skipping O3 because “OBS worked last month.”
Producers can institutionalize this with a KFM prompt hook: when Windows shows Known Folder Move, block calendar capture events until path_writable_ok appears on BUILD_RECEIPT. Pair visible build label discipline—players see build_id; facilitators should see receipt date beside inbox path in README.
Evidence folder layout (release-evidence)
release-evidence/playtest/replay-path/
├── obs_output_settings_2026-10-08.png
├── resolve_path_log_2026-10-08.txt
├── replay_path_smoke_2026-10-08.mkv
└── OBS_REPLAY_PATH_KFM_RECEIPT.json
Archive under the same build_label as Tuesday CSV ingest so Thursday row review can diff path + CSV + smoke in one pass.
Pin-swap matrix (what we ruled out)
| Hypothesis | Test | Result in this pattern |
|---|---|---|
| Whisper model broken | Run on known-good WAV | Works |
| ffmpeg concat regression | Concat archived clips | Works |
| Discord bot failed | Check thread timestamps | Playtest happened |
| OBS crashed | OBS log | Clean session |
| Path drift | List inbox .mkv count |
Zero — root cause |
| OneDrive sync delay | Local folder refresh | Path wrong, not slow sync |
| Wrong audio device | ffprobe on nonexistent clip | N/A—no clip |
Multi-host playtest scenario
| Host | KFM? | OBS path updated? | Outcome |
|---|---|---|---|
| A | Yes | No | Empty inbox—this case study |
| B | No | N/A | Clips present—team blames Whisper on A’s laptop |
| C | Yes | Yes (O1–O6) | Clips present—compare receipts |
Producer rule: No shared “playtest night GREEN” without per-host obs_replay_path_kfm_receipt or signed README row dated same week.
Weekly ritual map (path + triage)
| Day | Ritual | Receipt column |
|---|---|---|
| Mon | KFM / Windows Update check | path_writable_ok if prompted |
| Tue | CSV ingest | playtest_csv_ingest_ok |
| Tue PM | Capture night | Replay fragments on disk |
| Wed | Concat + Whisper | concat_ok |
| Thu | Row review | path_writable_ok + concat_ok |
Defer marketing bursts during recovery using founder time-box worksheet—empty inbox is engineering-floor work.
Signals observers cite (qualitative, late 2026)
Patterns from facilitator Discord threads and fest post-mortems—no invented metrics:
- “Whisper broken” tickets where
dir inboxreturned zero files - Laptops that accepted KFM the same week as public playtest invites
- README paths copied from wiki templates without per-host O1 screenshots
- Teams with GREEN uniform receipts from prior week clips while current capture failed
- Contractors joining mid-fest without OBS path onboarding card
Industry habit: treat empty inbox as P0 path—not P2 ASR tuning.
Proof table (audit)
| Row | Evidence | Pass |
|---|---|---|
| OBS path | Screenshot obs_output_settings_*.png |
Matches resolved folder |
| Resolution | PowerShell Resolve-Path log |
No error |
| Writable | 10 s test .mkv |
sha256 in receipt |
| README | playtest-vod/README.md row |
Host + date |
| Receipt | OBS_REPLAY_PATH_KFM_RECEIPT.json |
path_writable_ok: true |
| BUILD_RECEIPT | Weekly row | Column populated |
Seven scenarios (A–G)
| ID | Situation | Response |
|---|---|---|
| A | KFM prompt accepted Monday | Run O1–O6 before Tuesday capture |
| B | New facilitator laptop | New README row; do not copy old path |
| C | Inbox empty, uniform GREEN | Path first—uniform is stale |
| D | Online-only OneDrive parent | Always keep on this device |
| E | Clips in wrong folder | O5 README vs OBS mismatch |
| F | D:\ path on travel laptop | Rewrite to %USERPROFILE%\Videos\… |
| G | Whisper tags without VOD | Check path receipt dated before triage |
Common mistakes (post-mortem)
- Debugging Whisper before listing inbox — zero files is path, not ASR.
- Trusting Save Replay animation — OBS does not validate path writability in UI.
- Single global README path — multi-host playtests need per-machine rows.
- Skipping test clip after fix — “we changed the setting” is not proof.
- Running concat on empty folder — produces false “ffmpeg broken” narrative.
- Mixing
obs_replay_path_kfm_receiptwithplaytest_vod_triage_receipt— usecousin_receiptsonly. - Ignoring KFM on Desktop — OBS profile may still target
Desktop\Captures.
Troubleshooting routing
| Symptom | Lane |
|---|---|
| Empty inbox after KFM | This case study + Guide O1–O6 |
| Save Replay does nothing | O2 + OneDrive Always keep |
| Clips exist, concat fails | MKV concat help |
| Clips exist, zero audio | Zero-duration audio help |
| Path invalid quick fix | Help #29 forward |
| rclone mirror stale | jq rclone mirror blog — different drift class |
Tools and sibling reads
- Replay path KFM preflight (Guide #26)
- Lesson 263 — path_writable_ok milestone
- OBS evening concat tutorial
- Local Whisper triage
- 16 OBS ffmpeg Whisper tools
- Resource #20 forward — playtest survey tool list refresh
- Microsoft: Known Folder Move overview
Key takeaways
- KFM moves folders—not OBS settings—re-open Settings → Output after any relocation prompt.
- Empty inbox means path drift before Whisper or concat debugging.
- 10 s test clip + sha256 is the writable proof—not UI animation.
obs_replay_path_kfm_receipt_v1.jsonfilespath_writable_okfor BUILD_RECEIPT.- Facilitator README must character-match OBS path per host.
- Run path before uniform when Windows updated mid-sprint.
- Lesson 263 owns promotion gate; Guide #26 owns O1–O6 checklist.
- Help #29 forward owns fix lane; this post owns recovery narrative.
- Pair Tuesday CSV ritual for playtest-week ops spine.
- Forward #17 3-day Addressables CI challenge—different false-green class.
FAQ
Can we recover Tuesday clips after path fix?
No—clips written to a dead path are not recoverable via Whisper. Re-schedule capture after O6 GREEN.
Does OneDrive break OBS always?
No—wrong path after KFM breaks capture. OneDrive with Always keep on this device on playtest-vod/ is fine.
Should we use Desktop instead of Videos?
Prefer Videos\playtest-vod\inbox—Desktop KFM is another relocation surface.
Is this the same as concat DTS errors?
No—concat errors require existing fragments. Empty inbox is path (this case study).
Do we need Lesson 258 uniform receipt too?
Yes—after path GREEN. Order: 263 path → 258 uniform → capture → 200 concat.
What about cloud Whisper API 413 errors?
That is payload size—413 help. Empty inbox happens before upload.
How do we prevent recurrence on new laptops?
Ship a facilitator onboarding card with three bullets: (1) run O1–O6 after any Windows update prompt, (2) pin %USERPROFILE%\Videos\playtest-vod\inbox in OBS—not D:\, (3) attach OBS_REPLAY_PATH_KFM_RECEIPT.json path to the playtest calendar invite. Store the card beside multi-channel facilitator contract so contractors inherit the same path ritual as founders.
Does Windows Backup or File History affect this?
Unrelated—KFM relocates known folders. Backup tools do not rewrite OBS Settings. Still verify O2 after restore-from-backup events on a fresh image.
Conclusion
October 2026 playtest weeks punish teams that treat OneDrive KFM as “sync finished.” OBS Replay Buffer can look healthy while inbox stays empty and Whisper batch finds nothing to transcribe. Re-pin Settings → Output, prove a 10 s clip, update the README row, file obs_replay_path_kfm_receipt_v1.json—then run uniform, concat, and ASR in order.
Next reads: Replay path KFM preflight, Lesson 263, OBS evening concat, Thursday row review.
Found this useful? Run O3 test save after every Windows Known Folder Move prompt—not after the empty Whisper morning. File the receipt beside your playtest calendar so the next facilitator inherits proof, not folklore.