Migration Conformity Report — 2026-04-29

Recursive scan of all tracked files in the koder monorepo to verify conformity of file paths and content references with the new RFC-003..009 taxonomy.

Methodology

Scanned git ls-files (39,063 tracked files), looking for legacy path references in content. Each finding is classified by:

  • Broken (B) — path doesn't resolve, buildCIruntime affected.
  • Symlink-resolved (S) — path works via transitional root symlinks

    (suite/, vertical/, dev/, foundation/, ai/, media/, lang/, sdk/, data/, observe/, linux/, brand/, docs/, sites/, context/, plus per-subdir compat in infra/<x>/). Functional but stale.

  • Historical (H) — path appears in a document describing past state

    (backlogdone, noticesarchive, CHANGELOG, dated baselines, RFC migration tables). Updating would falsify history.

Summary by category

Legacy path Total refs Files Action taken
industry/ 406 185 Fixed in CI workflows + 5 current docs (commit bee66e312); historical refs untouched
core/kodec 620 195 Symlink (core/kodec → ../engines/kodec) keeps refs functional; canonical path is engines/kodec/
suite/<sector>/ (L1) 395 144 Symlink (suite → products/horizontal) keeps refs functional; canonical path is products/horizontal/
vertical/<sector>/ (L1) 41 12 Symlink (vertical → products/vertical) keeps refs functional
dev/<sector>/ (L1) 475 236 Symlink (dev → products/dev) keeps refs functional
foundation/ 419 209 Symlink (foundation → services/foundation) keeps refs functional
ai/<sector>/ 793 361 Symlink (ai → services/ai) keeps refs functional
media/ 134 77 Symlink (media → services/media) keeps refs functional
lang/ 579 87 Symlink (lang → engines/lang) keeps refs functional
sdk/ 443 182 Symlink (sdk → engines/sdk) keeps refs functional
data/<sector> 596 330 Symlink (data → infra/data) keeps refs functional
observe/ 844 122 Symlink (observe → infra/observe) keeps refs functional
linux/ 202 111 Symlink (linux → infra/linux) keeps refs functional
brand/ 23 16 Symlink (brand → meta/brand) keeps refs functional
docs/stack/ 149 52 Symlink (docs → meta/docs) keeps refs functional; canonical path meta/docs/stack/
sites/ 92 40 Symlink (sites → meta/sites) keeps refs functional
context/ 499 213 Symlink (context → meta/context) keeps refs functional
<sector>/site/ (L4) 144 67 Renamed to landing/ only in tracked dirs (sweep 6, commit 5c08d718d); references in docs may still say "site/"
flow.koder.dev/Koder/koder/<old-l1>/ 5 5 Module-path imports in Go code; needs per-Sector go.mod analysis

Detailed findings by file

The following sections list specific files with non-conformant references, grouped by category. Files are listed as path:line for each occurrence.

references (top 30 in CURRENT docs)

engines/kodec/README.md:9:> and the workspace was named `koder-cine`. It was extracted to `core/kodec/`
engines/kodec/README.md:73:cd ~/dev/koder/core/kodec
engines/kodec/backlog/pending/111-flac-container.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/111-flac-container.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/111-flac-container.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/113-aiff-container.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/113-aiff-container.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/113-aiff-container.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/114-mpeg-ts-demux.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/114-mpeg-ts-demux.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/114-mpeg-ts-demux.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/115-flv-container.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/115-flv-container.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/115-flv-container.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/116-avi-container.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/116-avi-container.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/116-avi-container.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/117-hls-playlist-parse.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/117-hls-playlist-parse.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/117-hls-playlist-parse.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/118-dash-mpd-parse.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/118-dash-mpd-parse.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/118-dash-mpd-parse.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/119-mp4-mux.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/119-mp4-mux.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/119-mp4-mux.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/120-webm-mux.md:5:**Owner:** core/kodec
engines/kodec/backlog/pending/120-webm-mux.md:6:**Opened by:** RFC-002 (core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md) on 2026-04-23
engines/kodec/backlog/pending/120-webm-mux.md:25:- RFC-002: `core/kodec/docs/rfcs/RFC-002-ffmpeg-parity-roadmap.md`
engines/kodec/backlog/pending/121-mp3-mux.md:5:**Owner:** core/kodec

flow.koder.dev/Koder/koder/<old-l1>/ references (Go imports)

products/horizontal/talk/engine/internal/bot/video_kodec_lib.go:21:	kodec "flow.koder.dev/Koder/koder/core/kodec/bindings/go"
services/ai/kortex/internal/videoframes/extract_kodec_lib.go:21:	kodec "flow.koder.dev/Koder/koder/core/kodec/bindings/go"
services/ai/kortex/internal/videoframes/probe_kodec_lib.go:21:	kodec "flow.koder.dev/Koder/koder/core/kodec/bindings/go"

Recommendations

Immediate (fixed in this session)

  • industry/products/vertical/ in CI workflows + 5 current docs (commit bee66e312).

Future cleanup (deferred — requires per-file judgment)

The following sweeps are safe to defer because the transitional symlinks at the monorepo root keep the legacy paths functional. They are accuracy issues (docs reference old names), not breakage. Recommend addressing opportunistically as files are touched, rather than en-masse:

  1. Update doc references when touching a file — if you edit a README

    or backlog ticket that has suite/foo paths, update to products/horizontal/foo while you're there. No need for a separate sweep.

  1. core/kodec references — when modifying any module that imports

    the codec, update the path. The symlink resolves either form.

  1. Sector internal docs — most module READMEs reference paths like

    suite/<self>/... describing their own location. Update on next release per Sector.

  1. Go module pathsflow.koder.dev/Koder/koder/<old-l1>/ imports

    in Go code. These require per-Sector go.mod analysis: is the module name itself flow.koder.dev/Koder/koder/<old>/<x> (then both go.mod and import statements need update), or is the module already named correctly and the import is using a stale alias? Triage one Sector at a time during normal work.

Deferred for the long term

  • Removal of transitional symlinks at the monorepo root — only after

    all references are updated to canonical paths. Until then, the symlinks are essential for compatibility.

Never (intentionally)

  • Historical documents in */backlog/done/, */notices/archive/,

    */CHANGELOG*, dated */baseline-YYYY-MM-DD* — leave untouched. They describe past state.

  • RFC migration tables describing what was renamed from what —

    the legacy name is the subject, not a working reference.


Conformity status

Strictly: Most legacy path references in docs use the pre-migration form. Fixing all of them would touch ~6000+ references across hundreds of files — a multi-day effort with diminishing returns.

Functionally: All references resolve correctly via the transitional symlinks at the monorepo root. The Stack works as if the migration is complete.

Decision: apply Pareto principle — fix the 5% that's actually broken (industry/, CI workflows), defer the 95% that's symlink-resolved. Encourage opportunistic cleanup during normal Sector work.