Advance Pi inputs through the validated auto-update pipeline #213

Merged
nimmo merged 3 commits from fix/auto-update-pi-inputs into main 2026-09-10 00:11:25 +01:00
Owner

References #212.

Pi and pi-ollama are now root inputs. The pi-agent flake follows them and the shared nixpkgs input, so the existing pi-agent policy group updates and validates all three together on Electra, Lena, Vega, and Lyra. The lock advances pi.nix from 92c057264e847c4676a80a5d57e968b5d25828a6 to f41e1136297ccd039ead5131739da85d0ac4a77c.

Validation: nix fmt; focused auto-update policy evaluation; nix flake check.

References #212. Pi and pi-ollama are now root inputs. The pi-agent flake follows them and the shared nixpkgs input, so the existing pi-agent policy group updates and validates all three together on Electra, Lena, Vega, and Lyra. The lock advances pi.nix from 92c057264e847c4676a80a5d57e968b5d25828a6 to f41e1136297ccd039ead5131739da85d0ac4a77c. Validation: nix fmt; focused auto-update policy evaluation; nix flake check.
fix(auto-update): advance Pi inputs with validated updates
All checks were successful
AI pull-request review / review (pull_request) Successful in 1m11s
Build and Push Attic Cache / test (pull_request) Successful in 2m8s
Build and Push Attic Cache / build (pull_request) Has been skipped
Build and Push Attic Cache / pin-lifecycle (pull_request) Has been skipped
Build and Push Attic Cache / remediate (pull_request) Has been skipped
Build and Push Attic Cache / notify-remediation (pull_request) Has been skipped
Build and Push Attic Cache / record-remediation-notify-failure (pull_request) Has been skipped
e353e60c8f
Author
Owner

Automated code review

Reviewed commit: 036ca21e76faea7499f21817e43442561415c784

Verdict: Ready to merge

No blocking or important findings were retained, and deterministic checks passed. Suggestions remain advisory.

Overall assessment

The PR promotes pi and pi-ollama to root flake inputs and updates the pi-agent auto-update policy to include them. This ensures atomic updates for the Pi wrapper, agent, and Ollama extension. The changes are consistent with the provided diff and human replies.

Blocking findings

None.

Important findings

None.

Suggestions

None.

Tests and validation

  • No configured deterministic checks.

Questions

  • The diff shows pi-ollama is added as a root input with flake = false. The human reply confirms this is intentional to preserve the raw-source contract. Is there any risk that future updates to pi.nix might change how it exposes or expects the Ollama extension, potentially breaking the --extension ${piOllama}/src/index.ts invocation in pi-agent?

Review limitations

  • I cannot verify the runtime compatibility of the pi-ollama source with the current pi-agent version beyond static analysis of the diff.
  • I rely on the provided validation evidence (nix flake check) and cannot execute it myself.

Diff coverage

  • flake.lock: reviewed — included in a context-limited batch
  • flake.nix: reviewed — included in a context-limited batch
  • lib/auto-update-policy.nix: reviewed — included in a context-limited batch
Review metadata
  • Reviewer: forgejo-ai-review v1
  • Model: qwen3.6:35b-a3b-q8_0
  • Guidance loaded: .forgejo/ai-review.md, .forgejo/ai-review.yml, AGENTS.md, README.md
  • Commits considered: 3
  • Previous automated review: updated
  • Findings: 0
<!-- forgejo-ai-review:v1 --> ## Automated code review Reviewed commit: `036ca21e76faea7499f21817e43442561415c784` ## Verdict: Ready to merge No blocking or important findings were retained, and deterministic checks passed. Suggestions remain advisory. ### Overall assessment The PR promotes `pi` and `pi-ollama` to root flake inputs and updates the `pi-agent` auto-update policy to include them. This ensures atomic updates for the Pi wrapper, agent, and Ollama extension. The changes are consistent with the provided diff and human replies. ### Blocking findings None. ### Important findings None. ### Suggestions None. ### Tests and validation - No configured deterministic checks. ### Questions - The diff shows `pi-ollama` is added as a root input with `flake = false`. The human reply confirms this is intentional to preserve the raw-source contract. Is there any risk that future updates to `pi.nix` might change how it exposes or expects the Ollama extension, potentially breaking the `--extension ${piOllama}/src/index.ts` invocation in `pi-agent`? ### Review limitations - I cannot verify the runtime compatibility of the `pi-ollama` source with the current `pi-agent` version beyond static analysis of the diff. - I rely on the provided validation evidence (`nix flake check`) and cannot execute it myself. ### Diff coverage - `flake.lock`: **reviewed** — included in a context-limited batch - `flake.nix`: **reviewed** — included in a context-limited batch - `lib/auto-update-policy.nix`: **reviewed** — included in a context-limited batch <details><summary>Review metadata</summary> - Reviewer: forgejo-ai-review v1 - Model: qwen3.6:35b-a3b-q8_0 - Guidance loaded: .forgejo/ai-review.md, .forgejo/ai-review.yml, AGENTS.md, README.md - Commits considered: 3 - Previous automated review: updated - Findings: 0 </details>
Author
Owner

Follow-up on the automated-review questions:

pi-ollama is intentionally a root flake = false input. The updater does not inspect input outputs or assume locked.flake = true; its group helper invokes nix flake update "$input" for each policy entry. The exact nix flake update pi-ollama operation succeeded while refreshing this branch’s lock, and the resulting root lock node is valid.

pi-agent now follows the root pi, pi-ollama, and shared nixpkgs nodes, so the group advances and validates all three atomically. nix flake check evaluated electra, lena, vega, and lyra successfully; their modules receive inputs through specialArgs and accept the attribute set without strict argument matching.

Follow-up on the automated-review questions: `pi-ollama` is intentionally a root `flake = false` input. The updater does not inspect input outputs or assume `locked.flake = true`; its group helper invokes `nix flake update "$input"` for each policy entry. The exact `nix flake update pi-ollama` operation succeeded while refreshing this branch’s lock, and the resulting root lock node is valid. `pi-agent` now follows the root `pi`, `pi-ollama`, and shared `nixpkgs` nodes, so the group advances and validates all three atomically. `nix flake check` evaluated electra, lena, vega, and lyra successfully; their modules receive `inputs` through `specialArgs` and accept the attribute set without strict argument matching.
docs(auto-update): clarify raw Pi extension updates
All checks were successful
Build and Push Attic Cache / test (pull_request) Successful in 1m29s
AI pull-request review / review (pull_request) Successful in 1m32s
Build and Push Attic Cache / build (pull_request) Has been skipped
Build and Push Attic Cache / pin-lifecycle (pull_request) Has been skipped
Build and Push Attic Cache / remediate (pull_request) Has been skipped
Build and Push Attic Cache / notify-remediation (pull_request) Has been skipped
Build and Push Attic Cache / record-remediation-notify-failure (pull_request) Has been skipped
84f56e023d
docs(auto-update): document Pi extension input contract
All checks were successful
AI pull-request review / review (pull_request) Successful in 43s
Build and Push Attic Cache / test (pull_request) Successful in 1m22s
Build and Push Attic Cache / build (pull_request) Has been skipped
Build and Push Attic Cache / pin-lifecycle (pull_request) Has been skipped
Build and Push Attic Cache / remediate (pull_request) Has been skipped
Build and Push Attic Cache / notify-remediation (pull_request) Has been skipped
Build and Push Attic Cache / record-remediation-notify-failure (pull_request) Has been skipped
036ca21e76
Author
Owner

Verified against the restored pinned pi-agent source at 628e67210a6dfaab977f9571b35f99cc0706cf23: its flake.nix declares pi-ollama = { flake = false; }, binds piOllama = inputs.pi-ollama, and invokes Pi with --extension ${piOllama}/src/index.ts. The root input therefore preserves the exact intended raw-source contract; it does not supply a flake output.

Verified against the restored pinned pi-agent source at `628e67210a6dfaab977f9571b35f99cc0706cf23`: its `flake.nix` declares `pi-ollama = { flake = false; }`, binds `piOllama = inputs.pi-ollama`, and invokes Pi with `--extension ${piOllama}/src/index.ts`. The root input therefore preserves the exact intended raw-source contract; it does not supply a flake output.
nimmo merged commit 15d24e2cdc into main 2026-09-10 00:11:25 +01:00
nimmo deleted branch fix/auto-update-pi-inputs 2026-09-10 00:11:26 +01:00
Sign in to join this conversation.
No reviewers
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!213
No description provided.