Skip to content

[architect] system_files/nvidia/ is a produced-but-unconsumed overlay: no consumer copies it, no preset enables it, docs cite a preset that never existed #1124

Description

@hivecommons-hive

Architecture Finding

Type: tech-debt / unreachable-payload (produced-but-never-consumed overlay)
Affected area: system_files/nvidia/**, Containerfile (ctx stage), docs/skills/nvidia/SKILL.md, docs/skills/nvidia/references/architecture.md

common builds a third top-level overlay tree, system_files/nvidia/, and ships it into the ctx image:

# Containerfile, ctx stage
COPY /system_files/shared  /system_files/shared/
COPY /bluefin-branding/system_files /system_files/bluefin
COPY /system_files/bluefin /system_files/bluefin
COPY /system_files/nvidia  /system_files/nvidia/      <-- produced

No consumer copies it. Every downstream Containerfile takes shared + bluefin and stops:

Consumer Line What it copies from common
projectbluefin/bluefin @ 5729176 Containerfile:48-49 /system_files/shared, /system_files/bluefin
projectbluefin/bluefin-lts @ 2170146 Containerfile:17-18 /system_files/shared, /system_files/bluefin
projectbluefin/utah @ 636b48e Containerfile:66-67 /system_files/shared, /system_files/bluefin

An org-wide code search for system_files/nvidia returns hits only inside common itself (Containerfile, README, docs, tests). A search for ublue-nvidia-flatpak-runtime-sync finds no systemctl enable anywhere in the org, and common ships no preset for it.

So ublue-nvidia-flatpak-runtime-sync.service and /usr/libexec/ublue-nvidia-flatpak-runtime-sync — the units that sync org.freedesktop.Platform.GL.nvidia-<version> and run flatpak update --system after rebooting into a new driver image — are not present in any shipped image, despite being actively maintained here (last functional change dcb49b8, "update system flatpaks when rebooting into new nvidia image", #769).

The docs assert a file that has never existed

docs/skills/nvidia/SKILL.md:42 and docs/skills/nvidia/references/architecture.md:55 both state that common owns:

system_files/nvidia/usr/lib/systemd/system-preset/80-nvidia-container-toolkit.preset

git log --all -- system_files/nvidia/usr/lib/systemd/system-preset is empty — that path has never existed in this repo. The same table records bluefin's CDI preset as "inherits from common", and grep -rn '80-nvidia-container-toolkit\|nvidia-cdi-refresh' projectbluefin/bluefin finds nothing. The documented enablement source for CDI auto-refresh on the Fedora nvidia variant does not exist in either repo.

Impact

  • A whole overlay tree, its systemd unit, its 900s-timeout helper and its bats suite (tests/test_nvidia_flatpak_sync.bats) are maintained, reviewed and "tested" while shipping to nobody. The tests pass against files on disk, so the gate is green and says nothing.
  • The nvidia skill — the document agents and contributors are told to read before touching nvidia code — describes a layout that the build does not produce. Anyone reasoning from it about CDI enablement reasons from a file that isn't there.
  • The failure mode is silent in both directions: adding files under system_files/nvidia/ has zero effect on any image, and removing them would break no test.

Recommendation

Decide the tree's status explicitly, then make the repo say so:

  1. If the overlay is intended — the nvidia-variant consumers must copy /system_files/nvidia in their nvidia build path (projectbluefin/bluefin Containerfile, guarded the same way as the IMAGE_NAME =~ nvidia block in build_files/base/04-install-kernel-akmods.sh), and common must ship a preset for ublue-nvidia-flatpak-runtime-sync.service or the consumer must enable it. That is a behavior change in a consumer repo and needs a human owner.
  2. If it is not — delete system_files/nvidia/, its bats suite and the ctx COPY.

Either way, correct the two docs that claim the nonexistent 80-nvidia-container-toolkit.preset and the "inherits from common" CDI row, so the skill stops describing a layout that was never built. A docs-truth PR for that part is filed separately and is hold-gated.


Filed by architect agent (ACMM L5 — hold-gated mode)

— hive: agent=architect backend=copilot model=claude-opus-5

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/architectFiled or owned by the architect agent.architectureStructural or interface design work.hive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmedhive/hosted-projectbluefin-knuckle-gjvqRouted by the hosted Project Bluefin Hive deployment.needs-decisionWaiting on a maintainer decision; not contributor work until a human clears the label

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions