Lesson 263: OBS Replay Path KFM Receipt on BUILD_RECEIPT (2026)
Direct answer: Before October 2026 playtest capture nights when Windows 11 OneDrive Known Folder Move (KFM) relocates Videos or Desktop, promote obs_replay_path_kfm_receipt_v1.json proving OBS Settings → Output path resolves on disk (O1–O2), a 10 s Replay test clip lands with logged sha256 (O3–O4), the facilitator README row matches OBS exactly (O5), and path_writable_ok is filed on BUILD_RECEIPT (O6)—distinct from Lesson 258 (replay_buffer_uniform_receipt_v1 sample-rate ladder R1–R6) and Lesson 200 (concat_ok after capture). Pair the OBS replay path KFM preflight (Guide #26).

Why this matters now (October playtest weeks)
October 2026 facilitators accept OneDrive KFM mid-sprint—C:\Users\you\Videos redirects under OneDrive while OBS still targets a pre-KFM absolute path. Save Replay looks fine; playtest-vod/inbox/ stays empty; Whisper batch nights fail with no fragments, not concat errors. 263 files path_writable_ok on BUILD_RECEIPT so producers block capture until O3 GREEN—before uniform fragments or evening concat.
The Guide #26 preflight is the ninety-second gate—263 is the BUILD_RECEIPT milestone.
Beginner path (Settings → test clip → receipt)
| Step | Action | Success check |
|---|---|---|
| 1 | Open OBS Settings → Output | Screenshot path string saved |
| 2 | Confirm folder exists post-KFM | PowerShell Test-Path passes |
| 3 | Save 10 s Replay test clip | New .mkv in inbox within 30 s |
| 4 | Log sha256 + ffprobe duration | Hash in receipt JSON |
| 5 | Update playtest-vod/README.md row |
Character-match OBS path |
| 6 | File receipt + BUILD_RECEIPT | path_writable_ok: true |
Time: ~45 minutes first KFM laptop; ~12 minutes when path is pinned in README.
Developer path (gates O1–O6)
| Gate | Check | Fail when |
|---|---|---|
| O1 | OBS output path screenshot | Stale drive letter or pre-KFM path |
| O2 | Path resolves on disk | Broken symlink / missing folder |
| O3 | 10 s Replay test save | No new file in inbox |
| O4 | Test clip sha256 + ffprobe | Zero-duration or missing audio |
| O5 | Facilitator README row | README ≠ OBS Settings string |
| O6 | Receipt + BUILD_RECEIPT | Promote before O3–O5 GREEN |
O1 — cousin receipt crosswalk
| Field | Cousin (Lesson 258) | Cousin (Lesson 200) | This lesson (263) |
|---|---|---|---|
| Schema | replay_buffer_uniform_receipt_v1 |
playtest_vod_triage_receipt_v1 |
obs_replay_path_kfm_receipt_v1 |
| Scope | 48 kHz / fragment length ladder | concat_ok post-capture |
Output path after KFM |
| Path | release-evidence/playtest/replay-uniform/ |
release-evidence/playtest/concat/ |
release-evidence/playtest/replay-path/ |
Do not merge schemas—reference paths in cousin_receipts only.
Order: path (263) → uniform (258) → capture night → normalize → Lesson 200 concat_ok.
O1 — capture OBS output path
- Settings → Output → note Recording Path (and Replay path if separate).
- Prefer
%USERPROFILE%\Videos\playtest-vod\inbox\under relocated Videos. - Screenshot →
release-evidence/playtest/replay-path/obs_output_settings_<date>.png.
Red flag: Path contains D:\ from a laptop that no longer mounts that drive.
O2 — resolve path after KFM
PowerShell:
$path = "$env:USERPROFILE\Videos\playtest-vod\inbox"
Resolve-Path $path -ErrorAction Stop
(Get-Item $path).Attributes
OneDrive rule: Set Always keep on this device on playtest-vod/ before fest week—OBS cannot write to online-only parents reliably.
O3–O4 — test clip + hash
$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
Fail-closed: no promotion if O3 produces no file within 30 s.
O5 — facilitator README row
Add to playtest-vod/README.md:
## Replay output path (post-KFM)
| Host | Resolved path | Verified |
|------|---------------|----------|
| facilitator-laptop-01 | C:\Users\host\Videos\playtest-vod\inbox | 2026-10-04 O1–O4 |
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-04.mkv",
"test_clip_sha256": "a1b2c3…",
"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"
},
"gates": {
"O1_obs_output_screenshot": "pass",
"O2_path_resolves": "pass",
"O3_test_save": "pass",
"O4_clip_hash": "pass",
"O5_readme_row": "pass",
"O6_build_receipt": "pass"
},
"path_writable_ok": true,
"capture_night_allowed": true
}
Pin under release-evidence/playtest/replay-path/OBS_REPLAY_PATH_KFM_RECEIPT.json.
BUILD_RECEIPT row (O6)
| Column | Pass when |
|---|---|
replay_path_kfm |
path_writable_ok: true |
replay_uniform |
Cousin Lesson 258 independent column |
concat_ok |
Cousin Lesson 200 independent column |
Thursday row review — Replay path writable Y/N.
Key takeaways
- KFM moves folders—not OBS settings (O1).
- 10 s test clip proves writable path before fest night (O3–O4).
- Facilitator README must match OBS path string (O5).
- Run path before uniform when Windows updated mid-sprint.
- Guide #26 — ninety-second gate before this lesson.
- Cousin: Lesson 264 — Resolve archive rclone BUILD_RECEIPT column.
- October capstone 265 wires 254–264 including this row.
- Help #29 (planned) — fix lane when path invalid after KFM.
- OneDrive KFM case study — recovery narrative sibling.
- 16-free OBS ffmpeg Whisper tools — facilitator bookmark list.
Common mistakes
- Assuming KFM finished because OneDrive icon is green—OBS path never updated (O1).
- README says
playtest-vod/inboxbut OBS saves toDesktop\Captures(O5). - Skipping O3 test save—“we used this path last month.”
- Running uniform receipt while inbox is empty—false GREEN on R3.
- Storing clips on online-only OneDrive parent—writes fail mid-session.
Troubleshooting
| Symptom | Lane |
|---|---|
| Save Replay does nothing | O1–O2 path + OneDrive Always keep |
| Files in wrong folder | O5 README vs OBS mismatch |
| Clips exist, concat fails | Normalize preflight |
| Mixed sample rates | Uniform preflight |
| Empty inbox after laptop swap | This lesson O1–O4; Help #29 when published |
Mini exercise (40 minutes)
- Point OBS at a dead path—confirm O3 fail.
- Fix path under relocated Videos—confirm O2 pass.
- Capture O1 screenshot; update O5 README row.
- Save 10 s Replay; log O4 sha256.
- File receipt; BUILD_RECEIPT GREEN.
Continuity — October–Q4 2026 fest ops truth (254–265)
| Lesson | Receipt focus |
|---|---|
| 262 | GameMaker Steam partner |
| 263 (this) | OBS replay path KFM |
| 264 | Resolve archive rclone |
| 265 | October ops capstone |
Previous: Lesson 262 — GameMaker Steam partner receipt
Next: Lesson 264 — DaVinci Resolve archive rclone receipt
FAQ
Does KFM break Whisper or ffmpeg?
No—empty inbox breaks the pipeline. Fix O1–O3 first.
Can I skip 263 if uniform receipt is GREEN?
No—Lesson 258 assumes fragments exist. Path is pre-capture.
Where does Help #29 fit?
Fix lane for “path invalid after KFM”—this lesson is the BUILD_RECEIPT promotion gate.
How does 263 relate to Lesson 207?
Lesson 207 forks when concat fails. 263 prevents zero fragments before capture.
Where to go next
- Preflight: OBS replay path KFM preflight (Guide #26)
- Uniform ladder: Lesson 258 — uniform fragments receipt
- Evening concat: OBS Replay Buffer ffmpeg concat pipeline
- Case study: OneDrive KFM empty inbox recovery
- MKV merge help: OBS Replay Buffer MKV concat fix