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 |