Track, retest and remove temporary package pins #131

Closed
opened 2026-07-31 22:00:38 +01:00 by nimmo · 2 comments
Owner

Context

A successful emergency pin is technical debt, not a permanent resolution. Every accepted pin needs explicit ownership, review evidence and an automated path back to normal nixpkgs.

Scope

Add lifecycle controls for pins proposed by the Nova remediation worker.

Checklist

  • Require package, affected hosts, broken revision, last-known-good source, rationale and linked Forgejo issue for every generated pin.
  • Record a review-after date and an explicit removal condition.
  • Keep pinned root inputs classified in the flake update policy.
  • Periodically test current nixpkgs without the pin in isolation.
  • Comment on the tracking issue when the unpinned candidate succeeds or changes failure mode.
  • Produce a reviewable removal PR rather than merging automatically.
  • Deduplicate repeated failures and avoid notification or issue storms.
  • Report pin age and stale review deadlines in the producer summary.
  • Cover pin addition, continued failure, upstream recovery, removal and malformed metadata in regression tests.

Completion criteria

No generated pin can become silent or ownerless, and upstream recovery automatically produces evidence and a reviewable removal proposal.

Depends on #130.

## Context A successful emergency pin is technical debt, not a permanent resolution. Every accepted pin needs explicit ownership, review evidence and an automated path back to normal nixpkgs. ## Scope Add lifecycle controls for pins proposed by the Nova remediation worker. ## Checklist - [ ] Require package, affected hosts, broken revision, last-known-good source, rationale and linked Forgejo issue for every generated pin. - [ ] Record a review-after date and an explicit removal condition. - [ ] Keep pinned root inputs classified in the flake update policy. - [ ] Periodically test current nixpkgs without the pin in isolation. - [ ] Comment on the tracking issue when the unpinned candidate succeeds or changes failure mode. - [ ] Produce a reviewable removal PR rather than merging automatically. - [ ] Deduplicate repeated failures and avoid notification or issue storms. - [ ] Report pin age and stale review deadlines in the producer summary. - [ ] Cover pin addition, continued failure, upstream recovery, removal and malformed metadata in regression tests. ## Completion criteria No generated pin can become silent or ownerless, and upstream recovery automatically produces evidence and a reviewable removal proposal. Depends on #130.
Author
Owner

Use codex/gpt-5.6-terra with high reasoning.

The lifecycle work has a well-defined state machine and strong automated acceptance criteria, making Terra the appropriate balanced implementation model. High reasoning should be retained because issue deduplication, retry scheduling, stale-pin reporting, and safe removal interact over time. Request a Sol audit of the final removal and publication boundaries before merge.

Model guidance: https://developers.openai.com/api/docs/guides/latest-model

## Recommended Codex model Use `codex/gpt-5.6-terra` with `high` reasoning. The lifecycle work has a well-defined state machine and strong automated acceptance criteria, making Terra the appropriate balanced implementation model. High reasoning should be retained because issue deduplication, retry scheduling, stale-pin reporting, and safe removal interact over time. Request a Sol audit of the final removal and publication boundaries before merge. Model guidance: https://developers.openai.com/api/docs/guides/latest-model
Author
Owner

PR #137 merged cleanly at 2026-08-08 21:54 BST as 28acc76152c1e99e8877d66bb26e6e6f93465e02 after rebasing onto current main.

Final gates:

  • exact head 34e410d5baab112f9f8c75e68e406d93d1d2895e
  • lifecycle, remediation, auto-update, and Nova benchmark regressions passed
  • ShellCheck, actionlint, formatting, and nix flake check passed
  • independent Sol audit findings resolved
  • fresh automated review: Ready to merge, no blocking or important findings
  • Forgejo deterministic test check green and merge clean

No deployment or updater run was forced. This issue remains open pending a genuine normal fleet deployment of 28acc761 and the repository-required subsequent scheduled no-op evidence.

PR #137 merged cleanly at 2026-08-08 21:54 BST as `28acc76152c1e99e8877d66bb26e6e6f93465e02` after rebasing onto current main. Final gates: - exact head `34e410d5baab112f9f8c75e68e406d93d1d2895e` - lifecycle, remediation, auto-update, and Nova benchmark regressions passed - ShellCheck, actionlint, formatting, and `nix flake check` passed - independent Sol audit findings resolved - fresh automated review: Ready to merge, no blocking or important findings - Forgejo deterministic test check green and merge clean No deployment or updater run was forced. This issue remains open pending a genuine normal fleet deployment of `28acc761` and the repository-required subsequent scheduled no-op evidence.
nimmo closed this issue 2026-08-08 22:27:28 +01:00
Sign in to join this conversation.
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nimmo/nixos-config#131
No description provided.