Skip to content

ADRs tagged go

Auto-generated by scripts/docs/generate-adr-by-tag.sh. Edit ADR Tags: lines to update.

69 ADR(s) carry this tag.

ID Title
ADR-0702 VMAFX Phase 4 — Multi-Language Modernization Foundation
ADR-0703 vmafx-server in Go — gRPC + HTTP, observability
ADR-0704 vmafx-mcp Go port (JSON-RPC, stdio transport)
ADR-0705 vmafx-tune Go port — Stage 1 (compare subcommand)
ADR-0709 VMAFX Phase 4b — Distributed Video-Quality, Encoding, and ML Platform
ADR-0711 vmafx-controller Phase 4b.1 — Job Queue, Node Registry, and Scheduler
ADR-0712 IDE config audit and refresh for multi-language post-rebrand VMAFX
ADR-0713 vmafx-node Go Worker Binary
ADR-0714 vmafx-operator kubebuilder skeleton + CRDs
ADR-0719 vmafx-node rclone Integration — Remote-Asset Streaming Without Disk Materialisation
ADR-0730 vmafx-tune Go port — Stage 2 (ladder subcommand)
ADR-0770 vmafx-tune Go port — Stage 4 (report subcommand)
ADR-0782 OpenTelemetry tracing and metrics schema for the VMAFX platform
ADR-0786 vmafx-operator Stage 2 — reconciler loops, webhook validation, per-controller RBAC
ADR-0797 vmafx-server OpenAPI REST contract
ADR-0811 Security hardening — CodeQL Go coverage + codeql-config
ADR-0925 Generic in-memory registry for vmafx-controller subsystems
ADR-0927 OpenTelemetry traces + metrics — Phase 1 pilot in vmafx-controller
ADR-0931 MCP server — replace subprocess delegation with direct cgo (Phase 1)
ADR-0932 iter.Seq[T] companion APIs for single-pass Go collections
ADR-0935 Wrap multi-step Go cleanup paths with errors.Join; standardise slog error keys
ADR-0961 Controller queue — roll back PullWork on post-update Get failure (round-25 audit B.1)
ADR-0962 Controller fixes — implement StreamJobs snapshot and add reaper stop signal (round-25 audit B.3 + B.4)
ADR-0978 vmafx-server + pkg/score bug-audit — shutdown leak, gRPC Send-EOF surfacing, HTTP body cap, panic recovery
ADR-0983 gosec sweep — fix all findings + add CI gate
ADR-0996 eBPF FUSE bypass for rclone zero-copy path in vmafx-node
ADR-1000 Tech-stack badges in README and Go/Rust version pin consistency
ADR-1009 Fix Go shutdown / goroutine correctness — WaitForShutdown unconditional block, unbounded GracefulStop
ADR-1012 Go queue state-machine guards — PullWork AND-status, ReportResult idempotency
ADR-1014 Prometheus registry isolation for SetControllerSources
ADR-1017 Go operator controller resource-allocation fixes
ADR-1018 MCP exec.CommandContext + controller gRPC panic recovery
ADR-1041 Fix CI RED — Go metal option type + Rust AVX-512 test guard
ADR-1049 Exponential backoff for vmafx-node online-feedback drainLoop
ADR-1065 Go staticcheck r10 — poll-loop timer leak and missing body guards
ADR-1085 MCP streaming backpressure — kill child processes on client disconnect
ADR-1109 vmafx-node Serve() registers the VmafxScoring gRPC service
ADR-1119 Adopt the golusoris fx framework across all vmafx Go binaries
ADR-1124 vmafx-tune-go Stage 5 — per-shot tuning, codec-adapter table, and backend resolution
ADR-1125 Reconciling seven independent vmafx-tune Go ports into one tree
ADR-1129 Align release containers with the published tag and runtime ABI
ADR-1134 Build vmafx-ort-runner in-tree as a cgo shim over libvmaf's DNN session API
ADR-1137 One implementation per shared Go package — folding the vmafx-tune shadow packages
ADR-1184 The MCP gRPC control-plane bridge is Go-only
ADR-1229 The MCP server is the Go binary; the Python package is deprecated
ADR-1238 Require the Go security and test job through impact routing
ADR-1338 Require a clean Go fix modernization gate
ADR-1514 The Go service images record every linked module's licence from the binary, and the node image ships a redistributable FFmpeg, a source-built rclone and the records of the libraries it copies
ADR-1518 The controller authorises every gRPC call against one per-method role table, and a method without an entry is refused
ADR-1519 The controller reads its tenants from VmafxTenant resources (or a file of them), verifies each token against its own tenant's provider, and refuses what it cannot verify
ADR-1521 vmafx-mcp names the Go server; the Python wheel's script of that name is a one-release alias
ADR-1522 Every job read of the controller is scoped to the caller's tenant in the query, and a node session belongs to the tenant that registered it
ADR-1524 vmafx-node pulls work from the controller, advertises exactly the backend it runs, and refuses to start when it cannot honour its configuration
ADR-1526 vmafx-node reads job sources through pkg/storage and streams http-served inputs into the vmaf CLI through pipes
ADR-1539 vmafx-node starts the eBPF descriptor tracker on request, fails closed when the host cannot run it, and ships the compiled BPF object
ADR-1559 the node's eBPF program stays EUPL-1.2 and declares "GPL" to the kernel under EUPL-1.2's compatibility clause
ADR-1562 Every vmaf-tune command returns the lowest-bitrate encode that meets the target
ADR-1563 a dedicated vmafx:node role is the only role that reaches the controller's node API
ADR-1565 A libx265 two-pass cell at a CRF is pass 1 at the CRF, then ABR at pass 1's bitrate
ADR-1567 a cancelled running job reaches its node through the heartbeat answer, and the node stops the vmaf process
ADR-1569 the operator presents a bearer token to the controller from a file it reads on every call, through credentials shared with the node
ADR-1577 each tenant scores only inputs under its own scoring roots, denied by default, checked by the controller and again by the node
ADR-1622 the node's eBPF object is generated at build time with a pinned clang and no object is committed
ADR-1699 The root licence files state ADR-1250's terms, and every package manifest declares the licences of the files it ships
ADR-1805 Delete the Netflix release tags inherited by VMAFx/vmafx
ADR-1874 The vmaf CLI reports its usable backends; the score-backend selectors read that report
ADR-1899 govulncheck at symbol level, OpenVEX for what is not called
ADR-2349 One metric definition drives the services, the generated dashboards and the observability package
ADR-2377 Go saliency inference runs through the core's MobileSal extractor and the RC4 Go binding