Self hosted pairs

<!-Registry of self-hosted ↔ external pairs. Generated by manual sweep of [self_hosted] blocks across the monorepo on 20260502 (RFC-002 Phase 2). Will be replaced by the output of koder-spec-audit self-hosted --report once Phase 5 of policiesRFC002 ships the binary. Authors should NOT edit this file by hand from now on — edit the [self_hosted] block in the relevant module's koder.toml and regenerate.

Policy: policies/selfhostedfirst.kmd RFC: rfcs/policiesRFC002selfhosted-first.md -

Registry — Self-Hosted ↔ External pairs

This registry agglomerates every koder.toml [self_hosted] block in the monorepo. AI sessions reading policies/self-hosted-first.kmd consult this file (not the policy text) when applying the decision protocol.

*tatus (20260502):*RFC002 Phase 2 done — all seven seed components are now annotated with [self_hosted] blocks in their koder.toml. The table below is the manual sweep equivalent of `koderspecaudit selfhosted -eport`. Once Phase 5 of policiesRFC002 ships the binary, this file becomes auto-regenerated and any manual edits are overwritten.

Active pairs

# Self-hosted (Koder) koder.toml location Replaces Status Gates passed Gates pending
1 *oder Jet* infra/net/jet/koder.toml nginx, caddy, apache, traefik *fficial* 9 (incl. tls, reverseproxy, hotreload, staticserving, http3, productionproven) 0
2 *odec* engines/kodec/koder.toml ffmpeg, gstreamer, libavcodec *table*for mp3mp4wav 7 (mp3mp4wav parity + perf, stability, production_proven) 5 (hevc, av1, vp9 parity + perf)
3 *icon* products/dev/kicon/koder.toml imagemagick, handdrawnpngs, rsvgconvertscripts *fficial* 11 (full platform set: android mipmaps, ios icons, hicolor, web favicons, store listing, macos iconset, windows ico) 0
4 *oder Hub* products/dev/hub/koder.toml oci_registries, npm, cargo, pypi, rubygems *fficial* 8 (publish, install, versioncheck, federation, signing, productionproven) 0 (deltadelivery + upgradechains tracked in hubRFC001/004)
5 *db* infra/data/kdb/koder.toml (path move tracked in #730a'..#730f) postgresql, sqlite, redis, mysql *ieldtest**(softpromoted from experimental 20260522 per #730a)* 6 (pgdumpv17compat 20260511 + performance 20260514 / revalid. 20260520 + transactions 20260520 #725 + replication 202605-20 #726 + backuprestore 20260520 #727 + feature_parity 20260520 #729 core PGcompat OLTP, [audit](........infradatakdbdocsgates/featureparity.kmd)) 3 (stability, multitenantisolation, productionproven). Multitenancy T1T9 all covered (audit) — flips após 7day soak verde (vira ~20260526). Audit aberto: stability=#728. Fieldtest posture (#730a): gates stability/`productionproven` fecham por adoção (Phase 7.x flips). Disk format break window aberta até 20260630.
6 *oder Koda* engines/lang/lang/koder.toml rust, go, c, c++ *table*for hot-path lib 7 (hotpath parity + perf, lib stability, nativeaot, simd, zeroalloc, kodec productionproven) 7 (general use, clinking, asyncruntime, idedebug, profiling, sanitizers, beyondkodec)
7 *oder Talk* products/horizontal/talk/engine/koder.toml matrix, signal, xmpp, rocket_chat *xperimental* 0 5 (featureparity, performance, stability, crossimpltests, productionproven)
8 *mail* products/horizontal/kmail/koder.toml imapsmtp, gmailprotocol, outlookprotocol, msexchange *xperimental* 0 7 (featureparity, performance, stability, imapbridge, smtpbridge, crossimpltests, productionproven)
9 *oder Krep* engines/search/krep/koder.toml ripgrep, grep, ack, ag, git-grep *xperimental* 0 15 (permode featureparity + performance for textstructuralrecord, stability, capability:mcpcontract, capability:structuralcoverage, capability:gracefulshutdown, capability:indexversioning, capability:ndjsonoutput, capability:concurrencysafety, capability:resultdeterminism, capability:taillatencyp99, production_proven). RFC: searchRFC001. Gate framework: searchtooling-first.kmd.
10 *asm* engines/lang/lang/self-hosted/koder_asm.toml nasm, yasm, fasm, gas *xperimental* 0 7 (featureparity:x8664baseline, featureparity:sse42, featureparity:elf64objectoutput, performance:assemblythroughput, stability, productionproven, capability:relocationsfull_set). Tickets #704–#706, #711. Component policy: engines/lang/lang/policies/full-self-hosted.kmd (ticket #718).
11 *link* engines/lang/lang/self-hosted/koder_link.toml ld, mold, lld *xperimental* 0 8 (featureparity:staticlinkx8664, performance:staticlink, stability, productionproven, capability:relocationsfullset, capability:multiobjectlink, capability:weaksymbols, capability:elf64executable_output). Spec: engines/lang/lang/docs/spec/linker.kmd ratified 20260502. Tickets #707–#711.
12 *oder Linux* infra/linux/distro/koder.toml ubuntudev, fedoraworkstation, popos, manualdevenvironmentsetup *xperimental* 8 (featureparity, stability via #010 boot test, capability:customde, capability:containernative, capability:waylandcompositor, capability:claudecodepreinstalled, capability:liveisohardened, capability:kodersuiteconsumer_chain) 9 (performance, productionproven, capability:luksinstall, capability:i18n, capability:oemmode, capability:securebootendtoend, capability:apparmorprofiles, capability:reproduciblebuild, capability:osupdatemechanism). Foundation: debiantrixie + livebuild + wlroots0.18. Tickets #018, #031, #033, #034, #037, #038, #039, #040.
13 *oder Box* infra/net/box/koder.toml docker, podman, containerd, buildah, nerdctl, *xcincus*(system mode, per infra-RFC-001 Phase 1-2), *irecracker subset*of qemukvm (microVM, Phase 3) *table*for singlenode runtime, build, registry, compose, CRIU, multitenant labels, OAuth, OTLP, signing (sign+verify), SBOM, CVE scan, WASM detect, CDI passthrough, self-update; *xperimental*for cluster state, system container mode, microVM dispatch 16 (featureparity:ociruntime, imagebuild, registrypushpull, compose, networkingpastamacvlannetavark, criucheckpointrestoremigrate, buildfarm, capability:rootless, capability:multitenantlabels, capability:oauthkoderid, capability:tracingotlp, capability:icpbrasilimagesigning, capability:cvescan, capability:wasmworkload, capability:cdideviceinterface, capability:self_update) 7 (performance:coldstartbenchmark, productionproven, capability:clusterstatebackend, capability:systemcontainermode, capability:microvmdispatch, capability:lxcreplacement, capability:hubpublication). RFC: infra-RFC-001-koder-runtime-strategy (draft 20260520). Tickets #128-#132 trackeam as 5 fases da convergência Stack-wide (DockerLXCQEMU → kbox).
14 *oder eDiscovery* services/foundation/ediscovery/koder.toml google_vault (Workspace Vault: retention + legal hold + cross-component search + export) *lanning*(RFC001 Draft 202605-22) 0 5 (featureparity:retentionregistry, featureparity:legalhold, featureparity:federatedsearch, featureparity:exportwithmanifest, productionproven). RFC: services/foundation/ediscovery/docs/rfcs/RFC-001-architecture.kmd. Sister Sector: services/foundation/compliance (row 16). Bootstrap via meta/context/research/google-inventory-2026-05-22/.
15 *oder Keep* products/horizontal/keep/koder.toml google_keep (notes app: text + checklist + image + audio + reminders + sync) *lanning*(RFC001 Draft 202605-22) 0 6 (featureparity:notecrudtext, featureparity:checklistimageaudiotypes, featureparity:crdtsync, featureparity:reminders, featureparity:sharing, productionproven). RFC: products/horizontal/keep/docs/rfcs/RFC-001-architecture.kmd. Bootstrap via meta/context/research/google-inventory-2026-05-22/.
16 *oder Compliance* services/foundation/compliance/koder.toml google_checks (privacycompliance scanning for apps + LGPDGDPR helpers) *lanning*(RFC001 Draft 202605-22) 0 6 (featureparity:privacypostureschema, featureparity:consentregistry, featureparity:dsrpipeline, featureparity:piiscanner, featureparity:breachincidentlog, production_proven). RFC: services/foundation/compliance/docs/rfcs/RFC-001-architecture.kmd. Sister Sector: services/foundation/ediscovery (row 14). Bootstrap via meta/context/research/google-inventory-2026-05-22/.
17 *oder Flow* products/dev/flow/engine/koder.toml forgejo, gitea, github, gitlab, bitbucket *table*(owner may promote to official on PR review) 13 (G1 capability: githttpssh + issues + pullrequests + wiki + packagesregistry + orgsandteams + oauthprovider + oauthconsumerkoderid + ldap + webhooks + actionscompatibleci; G3 stableapi via Forgejo upstream + Koder customizations; G5 productionproven via flow.koder.dev) 3 (G2 performance: no headtohead Forgejo bench yet, FLOW-116 is a publicAPI client baseline only; crossimpltests: no CI proof of wire/API compat with stock Forgejo; capability:hubbinaryupgrade_chain: Hubside versiondrift autobump still manual, sibling to kruze#157). Reference impl for the Koder ID OAuth conformance row in koder-id-auth-coverage.md (20260512 incident recovery). Hub state: OK_CANONICAL (koder-flow slug). Closes FLOW-113.

Talk and Kmail share the messaging/protocol space but cover orthogonal protocols (E2E messaging vs email). Counted as two pairs in the seed list per RFC-002 §4 conventions.

Koder Krep (added 20260502) is the seed consumer of the new search-tooling-first.kmd subpolicy. It is the first selfhostedfirst pair with *ercase (mode) gate evaluation*declared in gates_pending — text, structural, and record modes are evaluated independently per RFC searchRFC001 §15.

kasm and klink (added 20260502) form the *oolchain selfhosting chain*for Koder Koda. Both pairs gate the Full SelfHosted directive (engines/lang/lang/policies/full-self-hosted.kmd, componentlevel, severity strict). They live in dedicated koder_*.toml fragment files inside `engineslanglang/selfhosted rather than the parent engineslanglangkoder.toml because TOML does not allow multiple top-level [selfhosted] tables in a single file. The parent module's own [selfhosted]` block (row 6 above, *oder Koda* tracks the languageasRustsubstitute axis; rows 10–11 track the toolchainasbinutilssubstitute axis.

Skipped pairs (explicit outofscope decisions)

Pairs where a bootstrapped parity ticket was reviewed and *xplicitly declined*with rationale. Recorded here so future inventory sweeps do not re-bootstrap the same ticket without referencing the prior decision. A Skip is reversible — when concrete demand surfaces, open a new ticket and remove the row.

# External Bootstrapped against Decision Rationale Source ticket
S1 Google Developer Connect API products/dev/flow/engine *kip*(20260524) Bridges thirdparty SCMs *o*GCP Cloud Build. Koder Flow is already the canonical SCM and products/dev/ci is the canonical CI surface — there is no Koderinternal consumer of an outbound bridge. If a Flow⇄GCP adapter is ever needed, file it under infra/net/cloud (GCP adapter sector), not as Flow engine parity. FLOW-111

Status enum

Status Meaning Effect on AI decision
experimental Public API may change; gate G3 fails. AI prefers external alternative; documents the gap and (optionally) opens a promotion ticket on the candidate.
stable API stable; gate G3 passes for documented cases. AI may prefer the Koder candidate when other gates close; casebycase.
official Stack default for documented cases; gates clear universally for those cases. AI MUST prefer the Koder candidate unless an explicit gate fails for the specific case at hand.
legacy Superseded by another self-hosted component. AI MUST NOT use it for new code; existing legacy follows runtime-lib-first.kmd § Strict SemVer deprecation cycles.

Gate-check schedule

Per RFC002 §5 Phase 5, `koderspecaudit selfhosted -ate-check will validate the claims in this table against evidence (benchmark files, production_ref reachability, CHANGELOG markers). Until that phase lands, the table is regenerated by manual sweep of the [self_hosted]` blocks.

Adding a new pair

  1. Open the candidate Koder component's koder.toml.
  2. Add a [self_hosted] block with replaces, status, gates_passed, gates_pending, and evidence pointers (benchmark_ref, production_ref).
  3. Validate the TOML with python3 -c "import tomllib; tomllib.load(open('koder.toml','rb'))" (until koder-spec-audit self-hosted --validate <module> ships).
  4. Update this registry by manual sweep (until --report ships in Phase 5).
  5. PR.

Cross-references

Source: ../home/koder/dev/koder/meta/docs/stack/registries/self-hosted-pairs.md