testsAndMisc/docs/superpowers/contracts/nvidia-config-tests-2026-08-23.json
Krzysztof kuhy Rudnicki cb1e8c53c9 Test nvidia_config.sh to 100%; the 8-lib campaign is done (85 -> 84)
76/76 lines through run_all.sh at --min 100, exit 0. 45 assertions over
15 cases across all four functions.

XORG_CONF and XORG_CONF_D are plain globals ASSIGNED inside
configure_xorg, so the default had to move to the assignment itself --
exporting a value from the harness alone would have been overwritten on
entry. PROFILE_FILE and USER_HOME take the ordinary `${VAR:-default}`
form. The real /etc/X11/xorg.conf.d/20-nvidia.conf keeps its Jun 2025
mtime and ~/pyroveil does not exist after the suite runs.

configure_xorg's RenderAccel value is asserted to be "true" AND asserted
never to be "false": the lib's own comment records that "false" forces
software rendering and pins Xorg above 30% CPU, so that is a regression
worth a dedicated negative assertion.

install_pyroveil's prompt could not be asserted on its text -- bash
writes a `read -p` prompt straight to the terminal, so it never reaches
captured output. The branches are distinguished by the non-interactive
arm's "Auto-installing" line instead, which is observable.

bt_audio.sh re-measured at 127/127 with the new files present.

That is all eight libs from the original handoff: arch_sysctl (banked as
unmeasurable and quarantined), arch_cpu, arch_hardware, thorium_repairs,
hosts_guard_migrate, hosts_guard_rollback, ubuntu_perf_fixes and
nvidia_config. Allowlist 91 -> 84.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-23 13:14:37 +02:00

20 lines
1.8 KiB
JSON

{
"title": "Clear nvidia_config.sh and finish the fixes/lib campaign",
"objective": "Bring nvidia_config.sh to 100% measured line coverage and remove its allowlist exemption, completing the eight-lib job the campaign started with.",
"acceptance_criteria": [
"The jail reports nvidia_config.sh at 100.00% through tests/run_all.sh at --min 100, exiting 0.",
"check_shell_coverage.sh passes on it with the allowlist line already deleted.",
"bt_audio.sh still measures 127/127 with the new test files present.",
"All four functions are covered: backup_file for present and absent files, configure_xorg including both backup paths, configure_gcc_workaround for fresh and already-configured profiles, and install_pyroveil for auto-install, existing checkout, missing dependencies, and both interactive answers.",
"configure_xorg is asserted to write RenderAccel 'true' and never 'false', since 'false' forces software rendering.",
"No write reaches /etc or a real home: /etc/X11/xorg.conf.d/20-nvidia.conf keeps its 2025 mtime and ~/pyroveil does not exist.",
"The lib stays under the 250-line cap and shellcheck reports nothing, with zero suppressions."
],
"out_of_scope": [
"Verifying that pyroveil actually builds; git/cmake/ninja are stubbed and only the orchestration is asserted.",
"The ~12 gated libs outside fixes/lib that already fail the gate for pre-existing reasons.",
"arch_sysctl.sh, which stays quarantined and exempt."
],
"verifier": "timeout 900s bash meta/scripts/shell_coverage_jail.sh --timeout 600s --subject linux_configuration/scripts/single_use/fixes/lib/tests/run_all.sh --measure nvidia_config.sh --min 100 --fail-on-case-error -- \"\" (expects 76/76 = 100.00%, exit 0), then the same for bt_audio.sh as a canary, then check_shell_coverage.sh with the allowlist line removed."
}