Skip to content

M2: normalize legacy Translations/ to translations/<video_id>.<bcp47>.srt (1,857 files) + harden Pages/integrity CI - #18

Merged
docxology merged 45 commits into
mainfrom
feat/m2-translations
Sep 24, 2026
Merged

docxology merged 45 commits into
mainfrom
feat/m2-translations

Conversation

@docxology

Copy link
Copy Markdown
Collaborator
  • Resolves the site-languages defect: 1,857 of 2,880 legacy capital-T Translations/ files migrated to normalized translations/<video_id>.<bcp47>[_<talkslug>].srt (batched per series, two-step git mv, previous_paths in every touched metadata.json — 1,857 entries, zero curated-field overwrites).
  • 600 unresolvable collisions quarantined to translations/conflicts/<series>/ (md5-prefixed, reason recorded in docs/translation-migration-map.md CONFLICTS appendix).
  • 423 files with no verified video_id remain in Translations/ — volunteer good-first-issue material (I16).
  • Harden deploy-pages.yml per E5/J7: pinned Journal_Utilities checkout, sparse checkout, single Actions Pages deploy (peaceiris/continue-on-error dropped), fetch-depth 1, paths filter.
  • Harden journal-integrity.yml per E13: manifest staleness annotation + channel/manifest/INDEX reconciliation.
  • validate_journal.py PASS throughout (710 ids, identical profile pre/post migration).
  • [Fleet wave 2026-09-23, agent journal-infra; DAF approved merge 2026-09-23]

…eckout, single deploy

- Pin Journal-Utilities checkout to ea873718a5de5317d3ae8d80cf2118f7792b179d
  (verified main HEAD; v0.1.0 tag is older) and all third-party actions by SHA
- fetch-depth: 1, sparse checkout of only the builder + site package
- plain python3 (stdlib builder) instead of uv sync / torch+CUDA — verified
  locally: 573 items built with no project install
- paths filter on push; drop peaceiris gh-pages deploy, contents:write and
  continue-on-error: ONE actions/deploy-pages deploy
- gate deploy on journal-integrity (needs:); post-deploy smoke test
  (curl index.html/manifest.json/.nojekyll)
- workflow_call trigger so deploy-pages can gate on it (needs:)
- pin Journal-Utilities checkout and actions by SHA
- report manifest age, declared-vs-listed counts, duplicate ids, and
  channel-vs-manifest-vs-INDEX reconciliation (manifest-only/index-only)
- annotate (::warning) when channel_videos.json is >7 days old — annotate,
  not fail, because the scheduled refresh (M5) does not exist yet; verified
  live: manifest currently 68 days old, 735 unique ids, 5 INDEX-only
2,880 files in 131 Translations/ folders (handoff claim verified exactly).
1,540 rows verified auto-movable to translations/<video_id>.<bcp47>.srt;
1,340 rows quarantined for review (917 collapse-to-one-target conflicts,
277 no verified video_id/language, 134 unverified single-part, 12 ambiguous).
No files moved in this change; moves are a reviewed follow-up with
git mv two-step renames and previous_paths recorded per item.
… Translations/ (M2 part 2)

Approved rows of docs/translation-migration-map.md only: 11 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
Approved rows of docs/translation-migration-map.md only: 77 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
Approved rows of docs/translation-migration-map.md only: 33 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
Approved rows of docs/translation-migration-map.md only: 252 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
Approved rows of docs/translation-migration-map.md only: 10 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
Approved rows of docs/translation-migration-map.md only: 880 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
Approved rows of docs/translation-migration-map.md only: 22 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
Approved rows of docs/translation-migration-map.md only: 21 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
Approved rows of docs/translation-migration-map.md only: 44 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
…rt 2)

Approved rows of docs/translation-migration-map.md only: 168 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
…art 2)

Approved rows of docs/translation-migration-map.md only: 22 files moved to translations/<video_id>.<bcp47>.srt. Review-quarantined files stay in Translations/ at their original paths. previous_paths recorded in a follow-up commit.
…e Symposium (M2 part 2)

11 items; 11 previous_paths entries (original Translations/ paths).
77 items; 77 previous_paths entries (original Translations/ paths).
33 items; 33 previous_paths entries (original Translations/ paths).
252 items; 252 previous_paths entries (original Translations/ paths).
10 items; 10 previous_paths entries (original Translations/ paths).
880 items; 880 previous_paths entries (original Translations/ paths).
22 items; 22 previous_paths entries (original Translations/ paths).
21 items; 21 previous_paths entries (original Translations/ paths).
44 items; 44 previous_paths entries (original Translations/ paths).
168 items; 168 previous_paths entries (original Translations/ paths).
22 items; 22 previous_paths entries (original Translations/ paths).
…sons

Part 2 moved the 1,540 approved rows; these 1,340 stay in Translations/
at original paths pending per-file resolution (917 collapse-conflict,
277 no verified video_id/language, 134 unverified single-part, 12 ambiguous).
…se conflicts (M2 pass 2b)

182 files migrated (unique verified video_id, talkslug suffix where per-talk; cross-item rescues where INDEX title matched uniquely); 51 files quarantined to translations/conflicts/<series>/ (multiple genuinely-different versions for one target). Details in docs/translation-migration-map.md CONFLICTS appendix.
22 files migrated (unique verified video_id, talkslug suffix where per-talk; cross-item rescues where INDEX title matched uniquely); 27 files quarantined to translations/conflicts/<series>/ (multiple genuinely-different versions for one target). Details in docs/translation-migration-map.md CONFLICTS appendix.
0 files migrated (unique verified video_id, talkslug suffix where per-talk; cross-item rescues where INDEX title matched uniquely); 2 files quarantined to translations/conflicts/<series>/ (multiple genuinely-different versions for one target). Details in docs/translation-migration-map.md CONFLICTS appendix.
38 files migrated (unique verified video_id, talkslug suffix where per-talk; cross-item rescues where INDEX title matched uniquely); 406 files quarantined to translations/conflicts/<series>/ (multiple genuinely-different versions for one target). Details in docs/translation-migration-map.md CONFLICTS appendix.
11 files migrated (unique verified video_id, talkslug suffix where per-talk; cross-item rescues where INDEX title matched uniquely); 19 files quarantined to translations/conflicts/<series>/ (multiple genuinely-different versions for one target). Details in docs/translation-migration-map.md CONFLICTS appendix.
34 files migrated (unique verified video_id, talkslug suffix where per-talk; cross-item rescues where INDEX title matched uniquely); 67 files quarantined to translations/conflicts/<series>/ (multiple genuinely-different versions for one target). Details in docs/translation-migration-map.md CONFLICTS appendix.
11 files migrated (unique verified video_id, talkslug suffix where per-talk; cross-item rescues where INDEX title matched uniquely); 22 files quarantined to translations/conflicts/<series>/ (multiple genuinely-different versions for one target). Details in docs/translation-migration-map.md CONFLICTS appendix.
… 2b)

19 files migrated (unique verified video_id, talkslug suffix where per-talk; cross-item rescues where INDEX title matched uniquely); 6 files quarantined to translations/conflicts/<series>/ (multiple genuinely-different versions for one target). Details in docs/translation-migration-map.md CONFLICTS appendix.
…e Symposium conflicts pass (M2 pass 2b)

2 items; 182 new previous_paths entries.
…(M2 pass 2b)

2 items; 22 new previous_paths entries.
…ss (M2 pass 2b)

4 items; 38 new previous_paths entries.
…ss (M2 pass 2b)

1 items; 11 new previous_paths entries.
…ass (M2 pass 2b)

4 items; 34 new previous_paths entries.
…ass (M2 pass 2b)

1 items; 11 new previous_paths entries.
… pass (M2 pass 2b)

7 items; 19 new previous_paths entries.
917 collapse-conflict rows resolved: 317 migrated (182 talkslug, 110 plain
dump-canonical, 13 cross-item rescues, 12 dedupe/derivative-only), 600
quarantined to translations/conflicts/<series>/ (CONFLICTS appendix), 423
remain untouched in Translations/ (REMAINING, I16 volunteer material).
…— keep hardened workflows + migration map, adopt Journal_Utilities spelling
…issue, TODO entry

- Map header: migration executed status + post-execution counts (1857
  migrated, 600 quarantined, 423 remaining)
- Known issue: builder lang parser (parts[-2]) misreads talkslug segments —
  Journal-Utilities fix (M3/I4), evidenced by 2026-09-24 local build
- TO-DO.md Major: M2 migration completed entry
@docxology
docxology merged commit 5678957 into main Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant