Capture structured evidence for rejected flake updates #129
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#129
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Context
The producer already isolates failures to individual flake inputs and affected hosts, but its rejected build log is temporary and is removed after classification. A remediation agent needs deterministic, sanitised evidence rather than scraping a Forgejo console transcript.
Scope
Extend the Nova producer to emit a bounded incident bundle whenever an input candidate is rejected for a non-infrastructure failure.
Checklist
Completion criteria
A rejected update leaves a reproducible, sanitised, machine-readable incident bundle while infrastructure failures and unrelated accepted inputs retain their current behaviour.
Depends on the existing per-input isolation and producer publication invariants. Refs #128 for the consumer benchmark contract.
Recommended Codex model
Use
codex/gpt-5.6-terrawithhighreasoning.This is a bounded, regression-heavy shell and Nix instrumentation task with clear schemas and invariants. Terra offers the best intelligence and cost balance for sustained implementation and fixture work; high reasoning is appropriate for correctly separating derivation, evaluation, test, and infrastructure failures. Escalate a disputed parser or publication-invariant design to Sol before merging.
Model guidance: https://developers.openai.com/api/docs/guides/latest-model
PR #133 merged after all validation, CI, and automated-review gates passed. Reopened pending required live evidence from a normal even-hour fleet auto-update and the subsequent no-op follow-up. No deployment will be forced.
Passive rollout evidence: Lyra ran its normal nixos-auto-update timer at 2026-08-01 06:05:54 BST. The build completed, the detached switch finished successfully at 06:07:30, and the updater verified deployed configurationRevision
4fcb27611c(the PR #133 merge). No deployment was forced. Package selection/version changes: none; closure delta: 0 paths net, -12.5 MiB. Keeping this issue open for the required subsequent scheduled no-op follow-up.Scheduled no-op follow-up verified on 2026-08-01 without forcing an update. Vega ran at 08:11:39 BST and Lyra at 08:13:05 BST; both fetched origin/main, reported Repository already matches origin/main (
4fcb27611c), logged Nothing changed in pull, system is current, and exited status 0/SUCCESS. Both hosts still report configurationRevision4fcb27611c. This completes the genuine deployment plus subsequent no-op evidence required for PR #133.