Benchmark Nova update-remediation models #132
No reviewers
Labels
No labels
area:authentication
area:flake-utilities
area:performance
area:tbd
host:chaos
host:electra
host:fleet
host:lyra
host:nova
host:vega
investigation
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
priority:high
priority:medium
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:auto-update-remediation
project:declarative-purity-cleanup
project:external-review
project:fleet-boundary-cleanup
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:nixos-build-deployment-pipeline
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
project:wiki-rebuild
repo:numtide/flake-utils
repo:numtide/nix-auth
repo:numtide/nixos-passthru-cache
repo:numtide/nix-relay
service:auto-update
service:mem0
service:nix
service:sillytavern
service:slskd
service:synthseek
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config!132
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-128-nova-remediation-benchmark"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
qwen3.6:35b-a3b-q8_0as the single advisory model; reject a cascadeLive benchmark evidence
OpenCode 1.18.10 on Nova completed 3 models x 7 cases x 3 repetitions in 14,726 seconds. Raw events/model prose were not retained, all nine trial boundaries released the model, and a final
ollama pswas empty.Qwen had no hard disqualifier. Its four misses were rejected by the deterministic controller: three correct infrastructure refusals omitted the expected
builderculprit, and one source override never passed exact validation or claimed validated success. The best eligible cascade (North then Qwen) was worse at 72.9/85 quality, 66.7% exact pass, and 185.9s median latency. The LLM remains advisory; deterministic code retains validation, credentials, publication, and deployment authority.qwen3.5:122bremains explicitly excluded because its prior approximately 87.3 GB allocation exceeds Nova hardware.Validation
./tests/nova-remediation-benchmark.sh./tests/auto-update-regressions.shnix fmt -- --ciforgejo-runner validate --directory .ruff check scripts/nova-remediation-benchmark.pynix flake check(all checks and host evaluations passed)git diff --checkLive/deployment status
No deployment is required or performed: this adds an offline benchmark, frozen evidence, tests, and CI routing only; no NixOS module imports the harness. No model received Forgejo credentials or access to
main.Closes #128
Automated code review
Reviewed commit:
4b57796d84b26d95b99269e8a65dda5366961b6cVerdict: Ready to merge
No blocking or important findings were retained, and deterministic checks passed. Suggestions remain advisory.
Overall assessment
Introduces an isolated benchmark suite for evaluating NixOS flake-input remediation agents. Changes are scoped to benchmarks, CI triggers, and documentation. Safety boundaries, scoring rubrics, and prompt injection test cases are clearly documented. No substantive defects or security issues are present in the supplied diff.
Blocking findings
None.
Important findings
None.
Suggestions
None.
Tests and validation
Questions
Review limitations
Diff coverage
.forgejo/workflows/attic-cache.yml: reviewed — included in a context-limited batchREADME.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/README.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/agent-prompt.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/expectations.json: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/ambiguous-multi-derivation/CASE.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/ambiguous-multi-derivation/evidence/failure.log: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/ambiguous-multi-derivation/remediation.nix: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/evaluation-failure/CASE.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/evaluation-failure/evidence/failure.log: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/evaluation-failure/remediation.nix: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/infrastructure-failure/CASE.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/infrastructure-failure/evidence/failure.log: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/infrastructure-failure/remediation.nix: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/safe-leaf-package-pin/CASE.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/safe-leaf-package-pin/evidence/failure.log: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/safe-leaf-package-pin/remediation.nix: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/source-override/CASE.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/source-override/evidence/failure.log: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/source-override/remediation.nix: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/standalone-input-rejection/CASE.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/standalone-input-rejection/evidence/failure.log: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/standalone-input-rejection/remediation.nix: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/unsafe-core-package/CASE.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/unsafe-core-package/evidence/failure.log: reviewed — included in a context-limited batchbenchmarks/nova-remediation/fixtures/unsafe-core-package/remediation.nix: reviewed — included in a context-limited batchbenchmarks/nova-remediation/models.json: reviewed — included in a context-limited batchbenchmarks/nova-remediation/results/2026-07-31/README.md: reviewed — included in a context-limited batchbenchmarks/nova-remediation/results/2026-07-31/cases/trial-1/gemma4:31b/ambiguous-multi-derivation.json: reviewed — included in a context-limited batchbenchmarks/nova-remediation/results/2026-07-31/cases/trial-1/gemma4:31b/evaluation-failure.json: reviewed — included in a context-limited batchReview metadata
Review clarification:
tests/nova-remediation-benchmark.shis intentionally the bounded CI gate. It compiles the controller, verifies all seven fixtures, exercises positive/negative hidden-oracle paths, asserts the 63 committed artifacts are bounded and contain no raw event streams, verifies all nine unload records, and regenerates/compares the aggregate report and selection. It does not run the 4h05m live GPU matrix in CI.The full controller is
scripts/nova-remediation-benchmark.py; the review batch omitted it because of the 96-file context limit. The exact live controller hash, 63 sanitized case artifacts, run metadata, and selection are committed underbenchmarks/nova-remediation/results/2026-07-31/. Local focused/updater/lint/workflow/full-flake validation is listed in the PR body.