Tekrar üretilebilir lab · Sentetik altyazı kanıtı
Altyazı zamanlama ve erişilebilirlik sınır benchmark'ı
Gerçek yerel SRT/WebVTT motorunu güvenli, engelleyici, belirsiz, bozuk ve saldırgan girdilerle çalıştırın. Benchmark dil kalitesini, medya senkronunu veya platform kabulünü değil; deterministik parser kararlarını ve byte bütünlüğünü ölçer.
Motor, kaynaklar ve sonuçlar 2026-08-09 tarihinde incelendi. Bu lab'de reklam yoktur.
Yöntem
- Exact core, renderer ve sentetik fixture kaynak byte'larını hashleyin.
- Core ve renderer hash'lerinden engine manifestini hesaplayın; bu kimlik yoksa artifact üretimini durdurun.
- Üç adlandırılmış fixture'ı ve 70 saldırgan vakayı tarayıcıyla aynı sınırlı motorda çalıştırın.
- Sabit saatte aynı biçimli çıktı, koşullu dönüşüm, CSV, JSON, SVG, Markdown ve Receipt v1 üretin.
- Artifact üretimini üç kez tekrarlayıp dosya adı, body byte'ları ve SHA-256'yı karşılaştırın.
- Chromium ve WebKit'i desktop, 390 px ve 320 px; EN/TR ve light/dark çalıştırın: 24 tool vakası, 445 assertion.
- Bir artifact byte'ını ve bir receipt-core alanını değiştirip bildirilen orijinal hash'in artık eşleşmediğini kanıtlayın.
Beklenen ve gözlenen
| Senaryo | Beklenen | Gözlenen | Kanıt sınırı |
|---|---|---|---|
| Desteklenen 3 cue SRT, bildirilen 8 sn | PASS | PASS · 7 artifact | Receipt core 1204f9ff64aac95dc5359d7c7c64259b7b6390ce20cb67105a4f64a81a236b05 |
| Overlap ve bildirilen medyayı aşan cue | BLOCK | BLOCK · 7 artifact | Tüm çıktılar review-only; receipt core 9ac24f4089fcf8c24b46b708c6db8b187fdc7168fd87542b8a18e2a55a5267a0 |
| WebVTT STYLE, REGION, setting ve yoğun metin | INDETERMINATE | INDETERMINATE · 6 artifact | Desteklenmeyen render yüzeyleri açık kalır; receipt core 360825c4bd5085bc7033f99d0f111e0ba424d8024d15eb68f610e3a5f71038d5 |
| Eksik medya süresi | INDETERMINATE | INDETERMINATE | Motor out-of-media sınırını kanıtlayamaz. |
| WebVTT non-breaking-space timing separator | Reddet | Reddedildi | invalid_timing_line; artifact yayımlanmadı. |
| 10.001 cue veya 5 MiB üzeri girdi | Reddet | Reddedildi | Sınır dışı girdi, teslim çıktısından önce fail-closed olur. |
| WebVTT cue ID'lerini SRT'ye dönüştürme | Kayıplı dönüşüm yok | Dönüşüm tutuldu | Aynı biçimli VTT kanıtı kullanılabilir kalır. |
| Formül ve script biçimli cue metni | İnert kanıt | PASS | CSV formülü etkisizleşir, HTML text olarak eklenir ve SVG ham cue metni içermez. |
Tamper deneyi: bütünlük görünür biçimde başarısız olur
Orijinal fixture receipt'i
Bildirilen receipt-core SHA-256
1204f9ff64aac95dc5359d7c7c64259b7b6390ce20cb67105a4f64a81a236b05Bildirilen normalize SRT SHA-256
b6a82ed5491773946c10d62df8de6c99016b4b9e6f4cb81ec369f61bb8dc847bTek alan / tek byte mutation
result_summary.cue_count 3'ten 4'e çevrilince receipt core yeniden hesaplanır:
322afec69b36dbbed29e648a55dc239070eb0666e41ddeb20d04e977afca87ddSRT'de tek byte çevrilince yeniden hesaplanan hash:
d05db1fcecd691c2ce7cad4c240b0add006048fc8b505b8e51d3601938c67ae9Gözlenen: iki fark da BLOCK koşuludur.
Bu yalnız bütünlük drift'ini tespit eder. Eşleşen receipt; yazarlık, kaynak gerçekliği, olgusal doğruluk veya erişilebilirlik kanıtlamaz.
Kapsam ve bilinçli belirsizlik
Sözdizimi ve zamanlama
SRT/WebVTT yapısı, timestamp grameri, start/end sırası, kaynak sırası, overlap, medya sınırı, gap ve sınırlı inline timestamp'ler kontrol edilir.
Review heuristic'leri
Süre, tahmini saniye başına karakter, satır sayısı ve satır uzunluğu deterministik profil sinyalleridir. Eşik aşımı inceleme ister; otomatik erişilebilirlik ihlali değildir.
Desteklenmeyen yüzeyler
WebVTT STYLE, REGION, cue setting, markup ve identifier envantere alınır. Sadık render veya dönüşüm kanıtlanmadığında motor belirsizlik üretir ya da conversion'ı tutar.
Ölçülmeyen
Ses doğruluğu, shot change, frame düzeyi sync, çeviri, anlamlı konuşma dışı ses, konuşmacı doğruluğu, oynatıcı renderı, safe area ve gerçek kullanıcı kavrayışı.
Exact kaynak ve rapor manifesti
- Tool sayfası
b3d2a7367895c5cf1e1c6e0854c649174edb1b39a0978bde6e9e6cfdf74ed3af - Engine core
478b13db5ea9551a3d4ea8c16853b9b443477166831ba56f1745b8e815a6e87f - Renderer
a48e2b82e59e6c53cdcc13ebc202738d534354eba6ee58a847fa2a4822ffb8fb - Sentetik fixture modülü
8e80ae62e039a57fcd3a5058bd375e73636b46d1c268e2cec582eb6c250ef967 - Engine manifest
e7424750d6c2376baad7472d2074c5a74294458a9717883e44940ede77246604 - Unit raporu
172f53011dda6a77e335b8eeab6ab77c05424d5367752ef044361417a4c7ce60 - Tarayıcı raporu
2a31604bddffa620a4dc3947a22c35381970130e3dd3588f3b28cb20c07793ac - Bağımsız red-team raporu
b22a153d57dfefb7ded5941c300310358c067f9ecf29b7a32d14aef403014467
Yeniden üretin
shasum -a 256 app/tools/subtitle-qa-studio/index.html \
app/js/renderers/subtitle-qa-core-20260809.js \
app/js/renderers/subtitle-qa-20260809.js \
app/fixtures/subtitle-qa-v1/fixtures.mjs
node scripts/subtitle_qa_unit_20260809.mjs
node scripts/subtitle_qa_browser_20260809.mjs
node scripts/subtitle_qa_independent_redteam_20260809.mjs
node scripts/subtitle_cluster_gate_20260809.mjsRepository root'undan Node.js, Chrome/Chromium ve Playwright WebKit ile çalıştırın. Kaynak değişikliği kanıtını da güncellemelidir; eski hash'leri yeni içeriğe kopyalamak provenance gate'ini geçemez.
Kaynaklar, gizlilik, sınırlar ve düzeltme
- W3C WebVTT, 20 Mayıs 2026 Candidate Recommendation DraftBiçim ve parsing temeli; 2026-08-09 tarihinde incelendi.
- W3C WAI Captions/SubtitlesErişilebilirlik bağlamı; bu parser'ın WCAG denetimi yaptığı iddiası değildir.
- Netflix zamanlama rehberiPlatforma özgü editoryal referans; FastTool sertifika profili değildir.
- BBC Subtitle GuidelinesYayıncıya özgü editoryal referans; uyumluluk iddiası değildir.
Fixture'lar sentetiktir; bu lab kullanıcı altyazı verisi toplamaz. Bağlı workbench desteklenen byte'ları yerelde işler. Normal statik asset'ler ve izinli analytics ağ kullanabilir ancak kullanıcı altyazı metni, dosya adı ve hash analytics kapsamı dışındadır.
Desteklenen girdi ve iddia sınırları eşleşen iş akışı rehberinde açıklanır. Paketleri Receipt Verifier ile doğrulayın. Yeniden üretilebilir kusuru senaryo, source hash ve gözlenen çıktıyla corrections@fasttool.app adresine bildirin.