RFCs
Ratified architectural decisions across the Koder Stack.
-
docs/stack/rfcs
README -
Agent Console — frontend multi-tenant agnóstico para IAs de CLI/TUI (foundations)
accepted
agent-console-RFC-001-foundations -
Generative UI via KVG (Koder Vector Graphics)
draft
ai-RFC-001-generative-ui-via-kvg -
Apidocs (AI API Docs Portal): foundations
accepted
apidocs-RFC-001-foundations -
Billing (Usage Tracking): foundations
superseded
billing-RFC-001-foundations -
brand-RFC-001 — Brand site architecture
ratified
mandatory
Brand assets (logo, color, typography, icon, downloads, press, legal) live as subpages of the existing `brand.koder.dev` Jet vhost, which is the Area-9-of-9 hub of the Koder ecosystem ("How the ecosystem shows itself to the world. Marketing sites, brand assets, public documentation"). The Area-9 hero stays at `/`; the brand-assets pages land at `/logo/`, `/color/`, `/typography/`, `/icon/`, `/downloads/`, `/press/`, `/legal/`. Path C of three reconciliation paths considered; preserves the 9-Area URL symmetry, implements the textual promise of the Area-9 hub, zero migration. KDS at `kds.koder.dev` remains the dev reference.
brand-RFC-001-brand-site-architecture -
Cache (Inference Cache): foundations
accepted
cache-RFC-001-foundations -
RFC-001 — Canvas: A2UI (Agent-to-UI) workspace
canvas-RFC-001-a2ui -
Classify (Classification/NLU): foundations
accepted
classify-RFC-001-foundations -
Curator (Autonomous Model Curation): foundations
draft
curator-RFC-001-foundations -
Dataset (Data Pipeline): foundations
accepted
dataset-RFC-001-foundations -
Koder Design: intentional shape of the Stack (5 facets) + kds.koder.dev landing
accepted (revised 2026-05-10 — expanded scope)
design-RFC-001-koder-design-system -
Extract responsive primitives from per-app implementations into koder_web_kit + koder_kit
accepted
design-RFC-002-responsiveness-sdk-extraction -
Koder Design: facets as cross-cutting tags, not single-membership content trees
proposed
design-RFC-003-facets-as-cross-cutting-tags -
design-RFC-004 — Component preview tooling (Storybook-equivalent)
draft
Evaluates 3 options for shipping a live, interactive component preview alongside the KDS site — Storybook proper, Ladle / Histoire (lighter alternatives), or a Koder-native HTMX-driven sandbox using the existing design-gen + templ pipeline. Recommendation: Koder-native v0; promote to external tooling later if breadth justifies.
design-RFC-004-component-preview-tooling -
design-RFC-005 — Figma kit + token sync pipeline
draft
Evaluates 3 mechanisms for keeping a Koder Design Figma kit in lockstep with ratified Verge tokens (Tokens Studio plugin vs Specify CLI vs custom Figma plugin reading from `dist/tokens/tokens.json`). Recommendation: custom plugin v0 consuming the already-emitted `tokens.json` (per design-gen #059).
design-RFC-005-figma-kit-and-token-sync -
design-RFC-006 — Cross-language token distribution
draft
Decides how koder_kit (Flutter / Dart) and koder_web_kit (JS) and future native consumers (Kotlin Android, Swift iOS, Rust embedded) receive the canonical Verge tokens. Evaluates copy-on-build vs publish-and-import. Recommendation: copy-on-build via CI workflow for v0; promote to a published koder_design_tokens package per language when consumer count crosses 3.
design-RFC-006-cross-language-token-distribution -
design-RFC-007 — Token hierarchy (seed / map / alias)
ratified
Surveys whether Verge should evolve from its current FLAT token model (`bg`, `surface`, `text`, `accent`, `border`, `focus` declared directly per preset) to a 3-tier hierarchy modeled on Ant Design — **seed tokens** (small input set), **map tokens** (derived by algorithm: light / dark / compact), **alias tokens** (semantic names consumed by components). Owner sign-off required to ratify; this RFC LAYS OUT the three options and trade-offs without picking one.
design-RFC-007-token-hierarchy-seed-map-alias -
design-RFC-008 — Pro opinionated wrappers over primitives
ratified
Evaluated whether KDS should introduce a **Pro layer** above its primitive components — pre-bundled toolbars, saved views, density toggles, column visibility menus, export hooks — to spare every Koder admin tool (Forge, Kdrive admin, Hub publisher, …) from re-wiring the same boilerplate. **Ratified Option C (recipe doc only)** on 2026-05-23 — see `specs/patterns/admin-data-table.kmd`. Re-evaluation trigger documented in R5: when a third admin tool re-derives the same toolbar, re-open this RFC.
design-RFC-008-pro-opinionated-wrappers -
design-RFC-009 — Incremental build for design-gen
ratified
Today `make gen` in `tools/design-gen` always full-renders the entire KDS site — ~480 pages × ~3 locales + tokens + OG images + JSON APIs + sitemap + llms.txt. Observed wall-clock: ~10m27s for 226 specs (2026-05-24 timing). Dev iteration cost grows linearly with the corpus. This RFC ratifies the **content-hash + manifest** incremental-build approach (Option A) before implementation begins, with the file-watcher dev mode (Option B) layered on top, and the Bazel-style dependency graph (Option C) deferred until KDS exceeds 1000 pages.
design-RFC-009-incremental-build -
design-RFC-010 — KDS MCP server (hosted streamable-http)
ratified
Expose the Koder Design System as a hosted Model Context Protocol endpoint at `kds.koder.dev/mcp/` so AI agents (Claude Code, Cursor, Codex, Windsurf) query specs/tokens/components live over streamable-http instead of static-pulling llms.txt + JSON. Strict descendant of stack-RFC-002. KEY CORRECTION to ticket #117: the stdio MCP server ALREADY EXISTS in `koder-design-lsp --mcp` with the 5 core tools; this RFC extends THAT binary with a streamable-http transport rather than building a duplicate `cmd/kds-mcp-server/`.
design-RFC-010-kds-mcp-server -
design-RFC-011 — kinds-framework refactor for design-gen
ratified
design-gen wires ~29 page renderers by hand in cmd/design-gen/main.go, each as a repetitive stats.Phase(...) block. This RFC ratifies a self-registration framework (Option A) for those page renderers so a new renderer is added by dropping a file that calls kinds.Register in init(), not by editing main.go. KEY CORRECTION to ticket #109: new SPEC families already render with zero code via the generic spec-doc fallback — the real boilerplate is main.go's manual page-renderer wiring, not per-spec kinds. Recommends Option A (registration) over Option B (convention), because Option B's zero-code path already exists.
design-RFC-011-kinds-framework -
Verge — Papel de superfície `sunken` (recesso), aditivo à elevação
ratified
design-RFC-012-sunken-surface-role -
Verge — Registro de superfície `expressive` (entrada/auth espaçosa), aditivo
withdrawn
design-RFC-013-verge-expressive-surface-register -
Embed (Embeddings): foundations
accepted
embed-RFC-001-foundations -
ERP-RFC-000 — Koder ERP Architecture Overview
erp-RFC-000-architecture-overview -
ERP-RFC-001 — Licitação Vertical Engine
erp-RFC-001-licitacao-vertical-engine -
ERP-RFC-002 — BPM / Workflow Engine
erp-RFC-002-bpm-workflow-engine -
ERP-RFC-003 — Travel and Expense Engine
erp-RFC-003-travel-expense-engine -
ERP-RFC-004 — Brazilian Fiscal Engine
erp-RFC-004-fiscal-brazilian-engine -
ERP-RFC-005 — Legal Vertical Engine (Lex backend)
erp-RFC-005-legal-vertical-engine -
RFC-001 — Error Reporting Framework
errors-RFC-001-error-reporting-framework -
Extract (Structured Extraction): foundations
accepted
extract-RFC-001-foundations -
RFC-001 — Auth Gate Multi-Channel Notifications
gate-RFC-001-multi-channel-notifications -
RFC-002 — Identity-Aware Proxy: Koder ID SSO at the Koder Jet edge
gate-RFC-002-identity-aware-proxy -
RFC-001 — Delta Delivery
hub-RFC-001-delta-delivery -
RFC-002 — Federation Protocol
hub-RFC-002-federation-protocol -
RFC-003 — Build Attestation for Koder Hub
hub-RFC-003-build-attestation -
RFC-004 — Upgrade Chains for Koder Hub
hub-RFC-004-upgrade-chains -
RFC-005 — Migration Manifests for Upgrade Chain Automation
hub-RFC-005-migration-manifests -
RFC-006 — Hub Unification and Rename (Store → Hub)
hub-RFC-006-unification-and-rename -
Hub RFC-007 — apt/deb surface + Termux as first-class consumer
Accepted
mandatory
Estender o Koder Hub pra hospedar pacotes `.deb` arm64-Bionic (formato Termux) expondo uma fachada `apt`-compatible em `hub.koder.dev/apt/`. Posicionar o KTermux (fork do termux-app — RFC adjacente) como cliente primário desse surface: `pkg install <slug>` resolve via Hub apt repo. `khub` CLI ganha resolver multi-formato (apk/deb/kpkg/...). Mantém-se `.kpkg` como envelope canônico Koder; `.deb` é export target conforme `specs/kpkg/format.kmd §1`.
hub-RFC-007-apt-deb-surface-and-termux-consumer -
id-RFC-015 — Authorization groups & conditional scope grant
id-RFC-015-authorization-groups-and-conditional-scopes -
id-RFC-016 — Kodix as a Koder-ID-joined OS: Koder ID login at the greeter (passkey-first, offline-capable, desktop SSO)
id-RFC-016-kodix-koder-id-joined-os-login -
id-RFC-017 — Identity-bound full-disk encryption for Kodix: TPM-sealed LUKS, measured-boot + presence-gated unlock (BitLocker+Hello / FileVault parity)
id-RFC-017-identity-bound-full-disk-encryption -
Id app RFC 001 stack portal consolidation
id-app-RFC-001-stack-portal-consolidation -
Imaging: foundations
accepted
imaging-RFC-001-foundations -
Koder Runtime Strategy — kbox as the universal runtime
draft
infra-RFC-001-koder-runtime-strategy -
Self-hosted CI runner pool — move CI off the dev laptop
draft
infra-RFC-002-self-hosted-runner-pool -
Ephemeral compute lease protocol — TTL + idle-aware transient infra
ratified
infra-RFC-003-ephemeral-compute-lease-protocol -
Fleet as a Global, Federated Control Plane
ratified
infra-RFC-004-fleet-global-control-plane -
Maintenance-Window Control Plane — declarative change windows reconciled by Fleet
draft
infra-RFC-005-maintenance-window-control-plane -
Backup & Disaster-Recovery Target Architecture — self-hosted-first object store + failure-domain tiering
draft
infra-RFC-006-backup-dr-target-architecture -
Service Discovery & Edge Routing — runtime endpoint registry in Koder DNS, consumed by Koder Jet; Koder Gate reserved for public product APIs
draft
infra-RFC-007-service-discovery-and-edge-routing -
KRDP — Koder Remote Access Protocol + the remote-access product module (RustDesk/AnyDesk/TeamViewer/RDP-class, native & fast, ID-brokered)
ratified
infra-RFC-008-krdp-remote-access-protocol-and-module -
KDX — Koder Document eXchange (formato universal de documento)
ratified
kdx-RFC-001-koder-document-exchange -
Persistent project workspace for Koder Kli (Flow-backed, ephemeral-default)
shipped
kli-RFC-001-persistent-workspace -
KMD — contrato de página/tema + embed nativo de KVG (fundação do KDX)
ratified
kmd-RFC-001-page-theme-contract-and-kvg-embed -
koder_exec_kit: pluggable execution backends for agent tools
accepted
koder-exec-kit-RFC-001-execution-backends -
RFC-001 — koder_pair_kit: SDK architecture
koder-pair-RFC-001-architecture -
Multi-Tenant Desktop — Koder Kodix Workspaces
Architectural direction for layering a workspace abstraction over the single-user Koder Kodix desktop, so a single installed system can host multiple isolated user contexts (work / personal / per-client) switchable from the kolide-shell panel — without falling back to the much heavier "second Linux user account + relogin" pattern. Each workspace owns its own per-user storage tree, Koder ID binding, apps catalogue, and kolide-shell settings. Apps stay multi-tenant by default (`policies/multi-tenant-by-default.kmd`) so this RFC is the desktop-side surface that finally makes the policy visible to the end user.
kodix-RFC-001-multi-tenant-desktop -
OS Update Mechanism — koder-os-update
Direction for OS-level updates on installed Koder Kodix: how a running system discovers, downloads, applies, and (eventually) rolls back updates to its base system + the koder-suite packages that came from hook 0060. Today the only way to "update" a Koder Kodix install is to re-flash the ISO or run `apt upgrade` per-package; this RFC defines the user-facing CLI (`koder-os-update`), the underlying transport, and the trade-offs between three candidate mechanisms (ostree, apt-only, delta packs). Recommended path: **apt-only over Koder Hub** for v0 (ships in weeks, reuses #012/#116/#117), with A/B partition / ostree evaluated for v1+ once #018's CLI is live.
kodix-RFC-002-os-update-mechanism -
OS Rollback & A/B Root — transactional userspace live-update
The rollback-capable transactional-root mechanism that kodix-RFC-002 (§Decision, §Migration) deferred to "kodix-RFC-003 when written", now also framed by the owner-declared full-live-system objective (#081): the userspace/image half (#082) of "update ANY component with zero physical reboot". Scores three A/B-root candidates — btrfs subvolume snapshots, systemd-sysupdate A/B partitions, ostree/bootc — against RFC-002's five criteria plus reuse-first. Recommended path: **btrfs subvolume A/B (snapshot → atomic default-switch → healthcheck → rollback)**, because Kodix root is already btrfs (#068/#070), so it needs no FS reorg (unlike ostree's `/usr` rdonly) and no doubled root partitions (unlike sysupdate, which also fights the #070 raid1-split layout). FINAL adoption is gated on RFC-002's measurement gate (≥3 months of v0 apt failure-rate telemetry) + owner sign-off — recommendation now, ratification on data (D12: no decision on an unmeasured premise).
kodix-RFC-003-os-rollback -
Kompass-RFC-001 — Identity and Organization Unification
kompass-RFC-001-identity-and-org-unification -
kompass-RFC-002 — Attachable identifiers & per-org identity policy
draft
Extends kompass-RFC-001 (Person/Membership unification, Phase 0) with two capabilities the unified model implies but did not yet make first-class: (1) **attachable verified identifiers** — identity is the immutable `Person`/`koder_user_id` anchor, and email/handle/passkey/external-email become rows in a `person_identifiers` table attached to it, each carrying a verification method, an assurance level, and a purpose; the single-domain thesis of RFC-012 is preserved as a *policy default*, not as the DB CHECK constraint it is today; and (2) **per-org identity policy** — the org owner configures membership prerequisite, external-representation authority, and a data-custody/offboarding regime, exposed as named "org type" presets (corporate / collective / DAO) over three orthogonal axes (authentication, membership, representation). Mechanism is separated from policy: the data model carries the superset; per-Stack and per-org policy decide what is exposed. Uniqueness/auth invariants are pinned to the kdb `strong:` tier (single-primary), reads served from local followers. Resolves the vocabulary drift across RFC-002/012/017/019 + kompass-RFC-001 by adopting Org→Workspace→Project + Person/Membership as canonical.
kompass-RFC-002-attachable-identifiers-and-org-identity-policy -
kover-RFC-001 — Koder Kover: an instrumented comparison cockpit
kover-RFC-001-foundations -
Koder Personal Computer (KPC) — persistent per-user VM for Kode agents 24/7
ratified
kpc-RFC-001-foundations -
Kruze Companion — a camada Koder do Kruze como extensão multi-browser
accepted
kruze-RFC-001-companion-multibrowser-extension -
kruze-RFC-002 — Mosaic tile-tabs + the `koder_tiling` SDK
kruze-RFC-002-mosaic-tile-tabs -
KVG Interact profile — interactive simulation, parametric lighting, walkable 2D→3D scenes
ratified
kvg-RFC-001-interactive-profile -
Koder Kad — visual KVG project editor: product architecture & shared editing layers
draft
kvg-RFC-002-kad-visual-editor-product -
KVG — perfil Print + backend KVG→PDF content-stream (export do KDX)
ratified
kvg-RFC-003-print-profile-and-pdf-content-backend -
kvs-RFC-001 — Worktree-per-session isolation for high-concurrency monorepo work
ratified
kvs-RFC-001-worktree-per-session-isolation -
KVS as a concurrent + AI-first forge — the server/host face of Koder Version System
ratified
kvs-RFC-002-concurrent-ai-first-forge-on-kdb -
KVS-RFC-003 slice d — Virtual always-fresh working copy
proposed
kvs-RFC-003-slice-d-virtual-working-copy -
KVS build-cache KEY contract — content-addressed build-artifact cache over the kvs CAS
ratified
kvs-RFC-004-build-cache-key-contract -
RFC-001 — MCP Registry: discovery and execution of MCP servers
mcp-registry-RFC-001 -
RFC media-dicom-001 — PACS / DICOM Gateway
media-dicom-RFC-001-pacs-gateway -
Memory (Agent Long-term Memory): foundations
accepted
memory-RFC-001-foundations -
Modelreg (Model Registry): foundations
accepted
modelreg-RFC-001-foundations -
RFC-001 — Area-First Directory Structure
monorepo-RFC-001-area-first-directory-structure -
RFC-002 — Directory Nomenclature: engine vs. backend at L4
monorepo-RFC-002-directory-nomenclature -
RFC-003 — L1 Domain Taxonomy: five domains with a single criterion
monorepo-RFC-003-l1-domain-taxonomy -
RFC-004 — L2 Area Definition: thematic grouping within a Domain
monorepo-RFC-004-l2-area-definition -
RFC-005 — L3 Sector Definition: the unit of product/service identity
monorepo-RFC-005-l3-sector-definition -
RFC-006 — L4 Distribution Forms: how a Sector reaches the world
monorepo-RFC-006-l4-distribution-forms -
RFC-007 — L2 Audience-Model Nomenclature: `suite/` becomes `horizontal/`
monorepo-RFC-007-l2-audience-model-nomenclature -
RFC-008 — L5 Language Conventions: idiomatic rules inside each distribution form
monorepo-RFC-008-l5-language-conventions -
RFC-009 — Separating Stack Documentation from Agent Configuration in `meta/`
monorepo-RFC-009-meta-internal-split -
RFC-010 — Component Frameworks (Library → Framework Promotion)
monorepo-RFC-010-component-frameworks -
Multi-DC telemetry ingress: edge-collector tier over the Koder VPN
accepted
observe-RFC-001-multi-dc-telemetry-ingress -
observe-RFC-002 — Koder Push (self-hosted push transport for koder-notify)
observe-RFC-002-koder-push -
Playground (Prompt/Agent Playground): foundations
accepted
playground-RFC-001-foundations -
Reuse-First policy hierarchy
Accepted
policies-RFC-001-reuse-first-hierarchy -
Self-Hosted First policy
Implemented
policies-RFC-002-self-hosted-first -
RFC 003 — Component Policies Hierarchy
Draft
policies-RFC-003-component-policies-hierarchy -
RFC Phase Pickup (auto-open backlog tickets for pending phases)
Accepted
policies-RFC-003-rfc-phase-pickup -
Prompt (Prompt Registry): foundations
accepted
prompt-RFC-001-foundations -
RFC-001 — Sandbox: Unified execution sandbox for agents and untrusted code
sandbox-RFC-001-architecture -
Sandbox (Code Execution): foundations
accepted
sandbox-RFC-001-foundations -
Sandbox: runtime tiers + fleet-scheduled placement
accepted
sandbox-RFC-002-runtime-tiers-and-placement -
Scene3D (3D Generation): foundations
accepted
scene3d-RFC-001-foundations -
RFC-001 — Scheduler: agentic cron for the Koder Stack
scheduler-RFC-001 -
RFC 001 — Koder Krep (search engine & CLI)
Draft
search-RFC-001-engine-and-cli -
Search (Web Search/Scrape): foundations
accepted
search-RFC-001-foundations -
Koder Signer — multi-jurisdiction architecture (BR / EU / US)
accepted
signing-RFC-001-multi-jurisdiction -
signs-RFC-001 — Sign-language avatar + bilingual translation across the Koder Stack
signs-RFC-001-architecture-overview -
RFC: Koder Snapshot/Backup — declarative environment capture/restore
snapshots-RFC-001-architecture -
kdb as unified data plane
draft
stack-RFC-001-kdb-as-unified-data-plane -
MCP integration across the Koder Stack
draft
stack-RFC-002-mcp-integration -
Koder Icons — curated shared UI icon library + KDS surface
draft
stack-RFC-003-koder-icons-shared-ui-library -
Verge scope expansion — align with Material's 5-layer scope (foundations + styles + components + patterns + accessibility)
draft
stack-RFC-004-verge-scope-expansion -
Full Headless Testability — every Koder UI is automatable/observable/reproducible without a display
draft
stack-RFC-005-full-headless-testability -
object storage plane and physical trust tiering
draft
stack-RFC-006-object-storage-plane-and-trust-tiering -
credential ownership model and BYO provider keys
draft
stack-RFC-007-credential-ownership-and-byo-provider-keys -
autonomous model curation, multimodal discovery and benchmark-relevance tracking
draft
stack-RFC-008-autonomous-model-curation -
Internal Service mTLS & East-West PKI — the trust fabric for service-to-service auth
ratified
stack-RFC-009-internal-service-mtls-pki -
GPU streaming platform (Parsec-category) — cloud gaming + remote GPU workstation
ratified
Proposta de arquitetura para um componente Koder na categoria do Parsec: acesso remoto de baixa latência à GPU/desktop de máquinas no data center, servindo (a) cloud gaming (jogos-como-serviço) e (b) workstation GPU remota (render/IA). Frame o pipeline capture→encode(kodec)→transport(WebRTC/relay) →decode→input-return, o orçamento de latência, e a decisão build-vs-adopt sob o gate self-hosted-first. Decisões owner-gated (nome, placement L1/L2, build-vs-adopt) ficam DEFERIDAS à ratificação — este é um draft.
stack-RFC-010-gpu-streaming-platform -
Shadow / Parallel-Run Validation — validate risky backend changes in prod without blocking windows
ratified
stack-RFC-011-shadow-parallel-run-validation -
UI Interaction Performance Corpus — comparative request→painted latency tiers for reusable interaction primitives
draft
stack-RFC-012-ui-interaction-perf-corpus -
Spec-driven Requirement/Scenario grammar + spec-delta lifecycle — internalise OpenSpec's best ideas into the Koder Stack's own spec infra
Implemented
stack-RFC-013-spec-driven-requirement-scenario-and-spec-delta -
Spec-adherence harness — trigger registry as SSOT, just-in-time spec injection, and gates with a false-positive budget
Accepted
stack-RFC-014-spec-adherence-harness -
Kanon — the named, versioned, non-Turing-complete rule-expression language + the declarative evaluator that replaces hardcoded Go checkers
Accepted
stack-RFC-015-kanon-declarative-rule-engine -
stack-RFC-016 — Koder Governance Plane (norte)
stack-RFC-016-koder-governance-plane -
Self-Hosted Source Catalog & Radar — generalize the mirror+refresh+discover+rank pipeline for any imported content, and surface ranked self-hostable options to Stack admins
Accepted
stack-RFC-017-self-hosted-source-catalog-and-radar -
Clean URLs for static Koder sites — locale negotiation + extensionless, no trailing slash
draft
stack-RFC-018-clean-urls-locale-negotiation-static-sites -
koder twillio cpaas — control-plane over a shared transport substrate
draft
stack-RFC-019-koder-twillio-cpaas-control-plane -
stack-RFC-019 — Koder UI render strategy: Verge over wgpu/Vello
accepted
Proposes the long-term UI architecture for the Koder Stack: converge every surface of every component onto ONE Koder-owned Rust UI framework — the Verge design system as a shared widget/scene layer, rendered by a single wgpu/Vello backend that becomes native GPU (Vulkan/Metal/DX12/WebGPU) per platform "for free". This removes the Flutter desktop-feel tax and the GTK dependency at the convergence target, and makes Verge pixel-identical everywhere while Koder owns the whole UI stack (the Koda/kdb/kodec "own-your-primitives" line). Because a UI framework is the single largest software undertaking and the frontier is immature for mobile/web/a11y, the Stack is NOT bet on a deliberation: the decision is GATED by a measured proof-slice (the terminal as first consumer) that must clear a11y + headless-testability + startup/feel before any broad migration; if it fails, fall back to a native GTK4/Libadwaita desktop kit (option b).
stack-RFC-019-koder-ui-render-strategy -
stack-RFC-020 — AI compute strategy: rent the kernels, own the layers, shadow the vendor-neutral runtime
accepted
Makes explicit the Koder Stack's long-term AI model-COMPUTE strategy (the tensor kernels for inference + fine-tuning), which is already implicit in its existing components + the self-hosted-first shadow-flip model. Decision: (a) the mature external GPU ML stack (CUDA/ROCm + axolotl/unsloth/transformers for fine-tuning; Ollama/llama.cpp/vLLM for inference; frontier APIs for the hardest reasoning) is CANONICAL, because it is the only option that passes self-hosted-first G2 (perf parity) today; (b) a Koder-owned, vendor-neutral Rust-ML runtime (candle/burn over wgpu+CUDA) is run as a tracked SHADOW-ACTIVE maturation track that flips per case-of-use only when it clears G2 (≤×1.05) + G3 (≥3 stable releases) — exactly the kodec model. The Stack OWNS the layers where it is already competitive (serving/orchestration/data: gateway, kdb-vector, rag, memory — native Rust/Go). This is ORTHOGONAL to Kanvas (GPU-for-UI ≠ GPU-for-tensors).
stack-RFC-020-ai-compute-strategy -
stack-RFC-020 — Operator Plane, Apex Root e o Kode Agent Service
accepted
Estabelece a fundação arquitetural para o objetivo "Kode como cockpit operador": o owner conversa com o Kode (a IA da Koder) por surfaces ricas (Kode app primário; Koder Chat/Talk secundárias) e executa trabalho de ponta a ponta na Koder Stack (conectores, CI/deploy/DNS, releases, relatórios), substituindo a dependência do notebook. Define (1) o modelo de DOIS PLANOS — operador (toca dev+infra) × tenant (usa produtos) — com parede entre eles; (2) o Kode Agent service único e surface-agnóstico (cérebro), com os planos como tiers e os apps como clientes finos; (3) o Apex Root (único principal-ápice do owner, peça nova); (4) dois invariantes de segurança (instrução×dados + enclave por plano). Não redesenha a multi-tenancy — adota id-RFC-017 (ratificada).
stack-RFC-020-operator-plane-apex-root-and-kode-agent -
stack-RFC-021 — Kroma ↔ Koder compositor (kompose) & DE (Kolide) contract
accepted
Co-design the Koder native GPU UI toolkit (Kroma, stack-RFC-019) WITH the Koder display server (kompose — a wlroots Wayland compositor) and the desktop environment (Kolide), the way GTK/GNOME/Mutter co-evolved — but as CLEAN PROTOCOLS between independent layers, NOT a monolith. The high-leverage decision, taken now because the Kroma windowing layer (S4e) is about to be wired: Kroma's window/surface layer is a BACKEND ABSTRACTION (GDK-style) so it stays multi-backend + standalone. Backends: HeadlessBackend (testing), WinitBackend (#1, generic Wayland/X11/Win/Mac — already runs on kompose), KoderWaylandBackend (#2, deep kompose/Kolide integration: wlr-layer-shell, tiling, session, a11y, Koder CSD). Shared seams: Verge (the design system, across shell + apps), one language-agnostic tiling tree (port koder_tiling Dart → neutral/Rust), AccessKit → the Koder a11y bus, dmabuf zero-copy present. The Kroma Wayland backend is validated headlessly against kompose via koder_test_compositor.
stack-RFC-021-kroma-compositor-de-contract -
stack-RFC-021 — Stack Graph: grafo de conexões gerado, glossário e JIT component-aware
accepted
Resolve a causa-raiz da análise superficial das IAs sobre a Koder Stack: não falta "um índice", falta um GRAFO completo e sempre-atual de componentes E das conexões entre eles (hoje deferido no programa #151, travado em dado esparso), e falta um glossário de termos/siglas. Define: (1) o Stack Graph é GERADO por binário (estendendo o `koder-stack-graph` existente) sobre uma SSOT de arestas DECLARADAS em `koder.toml` (sempre-atual por construção, zero drift — Code First); (2) saída dupla de um gerador único — camada de dependências no Graph Explorer (#151, humano) + `stack-graph.json` + digest por-componente (consumo da IA); (3) glossário gerado (termos/siglas × componentes × specs); (4) enforcement por extensão do JIT existente (RFC-014 fase 3) para ser COMPONENT-aware + Regra 11 apontando pro Stack Graph — SEM gate-root novo (tecnicamente impossível em hooks Claude Code e contra o design da RFC-014). Expande o #151 e a RFC-014; não cria mecanismo paralelo.
stack-RFC-021-stack-graph-connections-glossary -
stack-RFC-022 — Kroma Web Backend: the declarative UI on a browser canvas (WebGPU)
draft
stack-RFC-022-kroma-web-backend -
stack-RFC-023 — Kroma Web Module Packaging & Shared Runtime
accepted
stack-RFC-023-kroma-web-module-packaging -
stack-RFC-024 — Superfícies de conhecimento: naming e portais (Atlas geo · Compêndios · Stack Explorer)
draft
Resolve a colisão tripla do nome "Atlas" e a incoerência do portal de docs, decidindo a identidade e a URL pública de cada superfície de conhecimento da Koder Stack. Decisões: (1) **"Atlas" = cartografia/geo apenas** — fica exclusivo do serviço Koder Atlas (mapas, ex-Maps); nenhuma outra superfície usa "Atlas". (2) O compêndio enciclopédico de IA que vínhamos chamando de "Atlas da IA" passa a ser o **Compêndio de IA** (forma modular ilustrada, 7 partes), e **absorve** o `compendium/` denso antigo como camada de referência (fonte única por domínio, zero duplicação — D6). (3) Os três compêndios (IA, Criptografia, Blockchain) ganham um portal próprio **`compendium.koder.dev`**, separados do portal de engenharia por audiência. (4) O atual `meta.koder.dev` é renomeado (URL pública) para **`stack.koder.dev`** — o explorador do mapa da arquitetura da Koder Stack (grafo + cânone de engenharia); `meta/` permanece como path interno do monorepo (taxonomia RFC-003), inalterado. (5) O renderer (`koder-docs-render`) ganha o path do Compêndio de IA (`meta/docs/ia/compendium-ia/`), destravando a publicação — hoje o conteúdo construído não tem rota.
stack-RFC-024-knowledge-surfaces-naming-and-portals -
stack-RFC-025 — Seleção de dispositivo GPU e política de energia (contrato compartilhado, backends por-engine)
draft
Define COMO componentes da Koder Stack decidem em qual GPU física rodar (iGPU integrada vs dGPU discreta, em máquinas híbridas) e como gerenciam a energia da dGPU. A decisão central é **separar política de mecanismo**: (1) **Contrato/política compartilhado (camada 1)** — um único modelo que todos os componentes herdam: preferência por-superfície (`auto`/`igpu`/`dgpu`), heurística de "este workload merece a dGPU", lifecycle de power-management (dGPU dorme em runtime-D3 quando ociosa), modelo de override do usuário e naming. Vive no backbone **Kore** como spec normativa + um helper fino no SDK (`koder_kit`). (2) **Backends por-engine (camada 2)** — cada engine de render implementa o mecanismo conformando ao contrato: **Kroma** (apps nativos, via seleção de adapter wgpu) → todos os apps Kroma herdam de graça; **Kruze** (Chromium/CEF, via GPU-process pinning — KRUZE-277); **caminho de vídeo** (decode HW VA-API/NVDEC). (3) **Apps (camada 3)** — herdam via seu engine, sem código próprio de GPU. Decisão explícita: **NÃO** centralizar a implementação inteira no Kore/Kroma (impossível para o Kruze, que embarca um engine de terceiro com subsistema de GPU próprio), e **NÃO** reimplementar por módulo (drift de thresholds/power-lifecycle/UX). O comum sobe como contrato; o específico fica no engine.
stack-RFC-025-gpu-device-selection-and-power-policy -
Synth (Audio Synthesis): foundations
accepted
synth-RFC-001-foundations -
TAKE-RFC-001 — Koder Take Architecture Overview
take-RFC-001-architecture-overview -
Tools (Tool Registry): foundations
accepted
tools-RFC-001-foundations -
Trace (AI Tracing/Observability): foundations
accepted
trace-RFC-001-foundations -
Training (Fine-tuning Service): foundations
accepted
training-RFC-001-foundations -
Translate (Translation): foundations
accepted
translate-RFC-001-foundations -
Tribus (cooperative-work primitive): foundations
proposed
tribus-RFC-001-foundations -
Video: foundations
accepted
video-RFC-001-foundations -
Vision: foundations
accepted
vision-RFC-001-foundations -
Workflow (Agent DAG/State Machine): foundations
accepted
workflow-RFC-001-foundations