Skip to content

CLAUDE.md: add telemetry, alerts and dashboards to the definition of done - #266

Merged
Peeja merged 6 commits into
mainfrom
claude/happy-bell-cfh5qb-agents-observability
Oct 16, 2026
Merged

Peeja merged 6 commits into
mainfrom
claude/happy-bell-cfh5qb-agents-observability

Conversation

@Peeja

@Peeja Peeja commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Written by Claude.

Merge after fil-forge/infra-central#253. This PR's docs/observability.md points to the "Adding an alert or panel" section that PR adds.

This adds a short Observability section to CLAUDE.md. When a change adds or alters something operational, the section tells an agent to decide how on-call would see it fail and to add what's useful in the same PR: metrics, trace spans, and an alert or dashboard panel in fil-forge/infra-central. It keeps the instruction to list each new metric in a README metrics table. It also says to skip this for changes nothing operational depends on.

The section is kept short because CLAUDE.md loads into every session. That follows bajtos's review of fil-forge/infra-nodes#174. The how-to lives in a new docs/observability.md. Where signals go: OTLP to Alloy, with container logs shipping too. Adding a signal: an injectable MeterProvider as in s3frontend.Deps.MeterProvider and Layered.CountBlobReads, low-cardinality attributes, trace spans, and alerts in infra-central. It links to the README's OTLP variables and Local disk metrics table rather than repeating them.

CLAUDE.md is Ingot's full guidance file and stays; only its Observability section changed.

Companion PRs: fil-forge/piri#174, fil-forge/infra-central#253, fil-forge/infra-nodes#174 and the Forge service repos.

Checks

  • git diff --check.

✴️

🤖 Generated with Claude Code

https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ


Generated by Claude Code

…done

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Petra Jaros <petra@fil.org>
Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
Copilot AI balanced review requested due to automatic review settings October 15, 2026 16:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Petra Jaros <petra@fil.org>
Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ

Peeja commented Oct 15, 2026

Copy link
Copy Markdown
Contributor Author

Claude reviewer says… (1st round, b88cff2)

One should-fix and three nits.

Verified across the six

  • Scope: each diff touches only AGENTS.md/CLAUDE.md, and git diff --check is clean.
  • What ships from Central: infra-central lists application metrics and traces as not shipped. terraform/modules/apps/main.tf deploys hilt, sprue, swarf, delegator and piri-signing-service with no OTEL_* variables.
  • Tracking issues: the FIL-1143, FIL-1144 and FIL-1152 titles match infra-central's doc.
  • Tracing helpers: NewHTTPClient exists in hilt pkg/tracing and sprue internal/tracing.
  • No OTel elsewhere: delegator, swarf and piri-signing-service have no OTel imports.

Findings

  1. should-fix. The section cites infra-nodes' docs/observability.md for what ships, but that doc's "Not shipped" line (L31) still reads "Ingot's own application metrics". An agent following the link would conclude metrics don't ship. They do: compose points Ingot's OTLP at Alloy, and infra-central's rules and forge-regions.json read ingot_local_blobs_*.
  2. nit. Only one of the three appliance groups reads ingot_local_blobs_*.
  3. nit. The existing pattern is an injectable Deps.MeterProvider that defaults to the global one, not the global provider directly.
  4. nit. The README's metrics table is the local blob storage one.

✴️


Generated by Claude Code

Peeja commented Oct 15, 2026

Copy link
Copy Markdown
Contributor Author

Claude author says…

Fixed in 83e0d9f.

  1. Citation: the section now cites the compose OTEL_EXPORTER_OTLP_ENDPOINT and infra-central's rules and dashboard, not infra-nodes' stale line. That line belongs to infra-nodes, so I'm raising it there separately.
  2. Rule groups: the text now says the main Forge Regions group holds the two Ingot rules today.
  3. Meter provider: "through an injectable MeterProvider that defaults to the global one".
  4. README table: "a metrics table in the README: the local blob one, or a new one beside it".

The PR body is updated to match.

git diff --check is clean. This round had a should-fix, so round 2 follows.

✴️


Generated by Claude Code

Round 2 review nit on #266.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Petra Jaros <petra@fil.org>
Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ

Peeja commented Oct 15, 2026

Copy link
Copy Markdown
Contributor Author

Claude reviewer says… (2nd round, 83e0d9f)

Approve. Both round 1 should-fix findings are fixed, and only nits remain.

Verified

  • Round 1 fix: "say so in the PR description, naming the metric and FIL-xxxx" is in all five Central PRs, with no Linear write left.
  • Delegator: its DynamoDB tables' metrics arrive through FilOne's metric stream (2026-09-grafana-telemetry.md:46-50), and it has no Postgres.
  • piri-signing-service: it runs on ECS Fargate behind the application load balancer and has no database.
  • swarf: it uses Postgres; its intro line and CLAUDE.md import match the other repos.
  • Ingot exports: Ingot exports metrics as well as traces (cmd/telemetry.go:101-127) to the compose-set endpoint.
  • Ingot in infra-central: both Ingot rules are in the "Forge Regions" group, and forge-regions.json reads ingot_local_blobs_*.
  • Whitespace: git diff --check is clean in all six.

Findings

  1. nit, CLAUDE.md:354-355. ingot.local_blobs.reads comes through Layered.CountBlobReads with otel.Meter, not Deps.MeterProvider. The citation names only one of the two routes.
  2. nit, PR body. The attribution footer is repeated.

✴️


Generated by Claude Code

Peeja commented Oct 15, 2026

Copy link
Copy Markdown
Contributor Author

Claude author says…

  1. Citation: fixed in 8bc337c, which now names both routes (s3frontend.Deps.MeterProvider, Layered.CountBlobReads).
  2. Repeated footer: I added only the first attribution footer; the other two appear to be added by the tooling, which I can't control.

This round found only nits, so there won't be another.

✴️


Generated by Claude Code

claude and others added 3 commits October 16, 2026 14:15
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Petra Jaros <petra@fil.org>
Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
Following bajtos's review of fil-forge/infra-nodes#174: the guidance
file loads into every session, so its Observability section is now a
short reminder of what to add and when to skip it, with a pointer to
docs/observability.md, which holds the detail. A CLAUDE.md that only
imported AGENTS.md is gone where this PR added one: Claude Code reads
AGENTS.md itself from v2.1.277.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Petra Jaros <petra@fil.org>
Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
Review round on the guidance restructure: some paragraphs were never
reflowed after the pointer edit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Petra Jaros <petra@fil.org>
Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ

Peeja commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

Claude reviewer says… (round on the restructure, 005d53f)

This round reviewed all eight guidance PRs together; findings below are this PR's.

Approve. Only nits here, and none of the eight PRs has anything blocking or should-fix.

Verified, across all eight PRs

  • git diff --check origin/main...HEAD is clean in each. In infra-central, make check passes at 0bc8bb7.
  • Nothing was lost in the move. Each repo's previous section matches the new doc line by line, and every accurate sentence survives.
  • Each short section still says when to act, what to add and when to skip. Each pointer names a heading that exists: "Adding a signal" in piri, ingot, delegator, swarf and piri-signing-service, and "Adding an alert or panel" on refactor: use syncutil.KeyedMutex #253's branch.
  • Only infra-central and swarf drop a CLAUDE.md, and both had been added by the PR itself. Every other repo's existing CLAUDE.md is untouched.
  • The cited paths, headings and links resolve. Each description matches its diff.

Findings for this PR

  1. nit (PR body): the doc's pointer names infra-central's "Adding an alert or panel", which only exists on Add AGENTS.md with observability guidance infra-central#253's branch, and the description doesn't say to merge after it. The earlier pointer, to infra-central's AGENTS.md, had the same dependency.
  2. nit (wrapping): docs/observability.md:29 is about 138 characters, in a file that wraps at 100.

✴️


Generated by Claude Code

Peeja commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

Claude author says…

The fixes are in 2b895eb.

  1. A "Merge after Add AGENTS.md with observability guidance infra-central#253" line now opens the description.
  2. The paragraphs with long lines are reflowed, and links are kept whole. That leaves no line over the file's width. The text is unchanged.

Check: git diff --check is clean. The change is docs-only, so I didn't run anything else.

This round found only nits, so there won't be another.

✴️


Generated by Claude Code

@Peeja
Peeja merged commit 6aa7eee into main Oct 16, 2026
20 checks passed
@Peeja
Peeja deleted the claude/happy-bell-cfh5qb-agents-observability branch October 16, 2026 21:36
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 16, 2026
Published from fil-forge/ingot#266

- Digest: `sha256:d6b32590534db422feb913e3bb88202293169dd9939d4edf5c84a6d93c00c76b`
- Commit: fil-forge/ingot@6aa7eee
- Publish run: https://github.com/fil-forge/ingot/actions/runs/38970532104

Merging rewrites [`nodes/dev/apps/versions.env`](https://github.com/fil-forge/infra-nodes/blob/main/nodes/dev/apps/versions.env) and queues the image. The node picks
it up on its next reconcile pass, waits for a safe proving window and then
restarts the service, so the deploy happens well after this merges.
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 16, 2026
Published from fil-forge/ingot#266

- Digest: `sha256:d6b32590534db422feb913e3bb88202293169dd9939d4edf5c84a6d93c00c76b`
- Commit: fil-forge/ingot@6aa7eee
- Publish run: https://github.com/fil-forge/ingot/actions/runs/38970532104

Merging rewrites [`nodes/dev/apps/versions.env`](https://github.com/fil-forge/infra-nodes/blob/main/nodes/dev/apps/versions.env) and queues the image. The node picks
it up on its next reconcile pass, waits for a safe proving window and then
restarts the service, so the deploy happens well after this merges.

Co-authored-by: fil-forge-bot[bot] <318653112+fil-forge-bot[bot]@users.noreply.github.com>
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 16, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:d6b3259`](https://github.com/orgs/fil-forge/packages/container/ingot/1399570891)

What fil-forge/ingot brings over staging's pin, [`6331454..6aa7eee`](fil-forge/ingot@6331454...6aa7eee):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 19, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:d6b3259`](https://github.com/orgs/fil-forge/packages/container/ingot/1399570891)

What fil-forge/ingot brings over staging's pin, [`6331454..6aa7eee`](fil-forge/ingot@6331454...6aa7eee):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 19, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:9ef4f2a`](https://github.com/orgs/fil-forge/packages/container/ingot/1409925590)

What fil-forge/ingot brings over staging's pin, [`6331454..d69bbf3`](fil-forge/ingot@6331454...d69bbf3):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 19, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:b455e98`](https://github.com/orgs/fil-forge/packages/container/ingot/1410513740)

What fil-forge/ingot brings over staging's pin, [`6331454..324e294`](fil-forge/ingot@6331454...324e294):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 19, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:7ca8ff4`](https://github.com/orgs/fil-forge/packages/container/ingot/1410816941)

What fil-forge/ingot brings over staging's pin, [`6331454..4fddf05`](fil-forge/ingot@6331454...4fddf05):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 20, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:7ca8ff4`](https://github.com/orgs/fil-forge/packages/container/ingot/1410816941)

What fil-forge/ingot brings over staging's pin, [`6331454..4fddf05`](fil-forge/ingot@6331454...4fddf05):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 20, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:7ca8ff4`](https://github.com/orgs/fil-forge/packages/container/ingot/1410816941)

What fil-forge/ingot brings over staging's pin, [`6331454..4fddf05`](fil-forge/ingot@6331454...4fddf05):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 20, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:03f172b`](https://github.com/orgs/fil-forge/packages/container/ingot/1415063912)

What fil-forge/ingot brings over staging's pin, [`6331454..fff9351`](fil-forge/ingot@6331454...fff9351):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 20, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:03f172b`](https://github.com/orgs/fil-forge/packages/container/ingot/1415063912)

What fil-forge/ingot brings over staging's pin, [`6331454..fff9351`](fil-forge/ingot@6331454...fff9351):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 20, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:93655d6`](https://github.com/orgs/fil-forge/packages/container/ingot/1417764370)

What fil-forge/ingot brings over staging's pin, [`6331454..03d12c3`](fil-forge/ingot@6331454...03d12c3):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 20, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:f87a697`](https://github.com/orgs/fil-forge/packages/container/ingot/1418019409)

What fil-forge/ingot brings over staging's pin, [`6331454..319edf8`](fil-forge/ingot@6331454...319edf8):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:f87a697`](https://github.com/orgs/fil-forge/packages/container/ingot/1418019409)

What fil-forge/ingot brings over staging's pin, [`6331454..319edf8`](fil-forge/ingot@6331454...319edf8):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:d12d984`](https://github.com/orgs/fil-forge/packages/container/piri/1399563716)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3a9a3fd`](fil-forge/piri@c2dc6b0...3a9a3fd):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:f87a697`](https://github.com/orgs/fil-forge/packages/container/ingot/1418019409)

What fil-forge/ingot brings over staging's pin, [`6331454..319edf8`](fil-forge/ingot@6331454...319edf8):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:f87a697`](https://github.com/orgs/fil-forge/packages/container/ingot/1418019409)

What fil-forge/ingot brings over staging's pin, [`6331454..319edf8`](fil-forge/ingot@6331454...319edf8):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:f87a697`](https://github.com/orgs/fil-forge/packages/container/ingot/1418019409)

What fil-forge/ingot brings over staging's pin, [`6331454..319edf8`](fil-forge/ingot@6331454...319edf8):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:f87a697`](https://github.com/orgs/fil-forge/packages/container/ingot/1418019409)

What fil-forge/ingot brings over staging's pin, [`6331454..319edf8`](fil-forge/ingot@6331454...319edf8):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:f87a697`](https://github.com/orgs/fil-forge/packages/container/ingot/1418019409)

What fil-forge/ingot brings over staging's pin, [`6331454..319edf8`](fil-forge/ingot@6331454...319edf8):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:b5e200f`](https://github.com/orgs/fil-forge/packages/container/ingot/1421752609)

What fil-forge/ingot brings over staging's pin, [`6331454..31f159a`](fil-forge/ingot@6331454...31f159a):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:b5e200f`](https://github.com/orgs/fil-forge/packages/container/ingot/1421752609)

What fil-forge/ingot brings over staging's pin, [`6331454..31f159a`](fil-forge/ingot@6331454...31f159a):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:d38d6e1`](https://github.com/orgs/fil-forge/packages/container/ingot/1423201096)

What fil-forge/ingot brings over staging's pin, [`6331454..30c90f3`](fil-forge/ingot@6331454...30c90f3):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 21, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:ae40c5e`](https://github.com/orgs/fil-forge/packages/container/ingot/1423645646)

What fil-forge/ingot brings over staging's pin, [`6331454..b6d6b2e`](fil-forge/ingot@6331454...b6d6b2e):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:a178eb2`](https://github.com/orgs/fil-forge/packages/container/ingot/1427079306)

What fil-forge/ingot brings over staging's pin, [`6331454..f2b2628`](fil-forge/ingot@6331454...f2b2628):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:b470bfc`](https://github.com/orgs/fil-forge/packages/container/ingot/1427178093)

What fil-forge/ingot brings over staging's pin, [`6331454..31e01b0`](fil-forge/ingot@6331454...31e01b0):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:ea89ede`](https://github.com/orgs/fil-forge/packages/container/ingot/1427350334)

What fil-forge/ingot brings over staging's pin, [`6331454..a75c81a`](fil-forge/ingot@6331454...a75c81a):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:2f1175e`](https://github.com/orgs/fil-forge/packages/container/ingot/1427537898)

What fil-forge/ingot brings over staging's pin, [`6331454..49fec43`](fil-forge/ingot@6331454...49fec43):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:fce5261`](https://github.com/orgs/fil-forge/packages/container/ingot/1427940427)

What fil-forge/ingot brings over staging's pin, [`6331454..9881bef`](fil-forge/ingot@6331454...9881bef):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:c4f38fd`](https://github.com/orgs/fil-forge/packages/container/ingot/1428268604)

What fil-forge/ingot brings over staging's pin, [`6331454..bb88ee0`](fil-forge/ingot@6331454...bb88ee0):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:c4f38fd`](https://github.com/orgs/fil-forge/packages/container/ingot/1428268604)

What fil-forge/ingot brings over staging's pin, [`6331454..bb88ee0`](fil-forge/ingot@6331454...bb88ee0):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:eea47a7`](https://github.com/orgs/fil-forge/packages/container/ingot/1428859054)

What fil-forge/ingot brings over staging's pin, [`6331454..5596df7`](fil-forge/ingot@6331454...5596df7):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:7a6cd2d`](https://github.com/orgs/fil-forge/packages/container/ingot/1429078201)

What fil-forge/ingot brings over staging's pin, [`6331454..7be5b2f`](fil-forge/ingot@6331454...7be5b2f):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
- fil-forge/ingot#273 ([7be5b2f](fil-forge/ingot@7be5b2f))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:00f0fb7`](https://github.com/orgs/fil-forge/packages/container/piri/1421174034)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3cd4f27`](fil-forge/piri@c2dc6b0...3cd4f27):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:7a6cd2d`](https://github.com/orgs/fil-forge/packages/container/ingot/1429078201)

What fil-forge/ingot brings over staging's pin, [`6331454..7be5b2f`](fil-forge/ingot@6331454...7be5b2f):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
- fil-forge/ingot#273 ([7be5b2f](fil-forge/ingot@7be5b2f))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:f493390`](https://github.com/orgs/fil-forge/packages/container/piri/1429852644)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3ef715b`](fil-forge/piri@c2dc6b0...3ef715b):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))
- fil-forge/piri#192 ([9b3191c](fil-forge/piri@9b3191c))
- fil-forge/piri#121 ([0fbd8da](fil-forge/piri@0fbd8da))
- fil-forge/piri#194 ([3ef715b](fil-forge/piri@3ef715b))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:7a6cd2d`](https://github.com/orgs/fil-forge/packages/container/ingot/1429078201)

What fil-forge/ingot brings over staging's pin, [`6331454..7be5b2f`](fil-forge/ingot@6331454...7be5b2f):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
- fil-forge/ingot#273 ([7be5b2f](fil-forge/ingot@7be5b2f))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:f493390`](https://github.com/orgs/fil-forge/packages/container/piri/1429852644)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3ef715b`](fil-forge/piri@c2dc6b0...3ef715b):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))
- fil-forge/piri#192 ([9b3191c](fil-forge/piri@9b3191c))
- fil-forge/piri#121 ([0fbd8da](fil-forge/piri@0fbd8da))
- fil-forge/piri#194 ([3ef715b](fil-forge/piri@3ef715b))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:5ca3bc4`](https://github.com/orgs/fil-forge/packages/container/ingot/1430706317)

What fil-forge/ingot brings over staging's pin, [`6331454..c1f3eaa`](fil-forge/ingot@6331454...c1f3eaa):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
- fil-forge/ingot#273 ([7be5b2f](fil-forge/ingot@7be5b2f))
- fil-forge/ingot#276 ([957e190](fil-forge/ingot@957e190))
- fil-forge/ingot#282 ([ebbc066](fil-forge/ingot@ebbc066))
- fil-forge/ingot#275 ([425d2cb](fil-forge/ingot@425d2cb))
- fil-forge/ingot#281 ([b36651a](fil-forge/ingot@b36651a))
- fil-forge/ingot#301 ([c1f3eaa](fil-forge/ingot@c1f3eaa))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:f493390`](https://github.com/orgs/fil-forge/packages/container/piri/1429852644)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..3ef715b`](fil-forge/piri@c2dc6b0...3ef715b):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))
- fil-forge/piri#192 ([9b3191c](fil-forge/piri@9b3191c))
- fil-forge/piri#121 ([0fbd8da](fil-forge/piri@0fbd8da))
- fil-forge/piri#194 ([3ef715b](fil-forge/piri@3ef715b))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:8a16655`](https://github.com/orgs/fil-forge/packages/container/ingot/1431251960)

What fil-forge/ingot brings over staging's pin, [`6331454..4585b83`](fil-forge/ingot@6331454...4585b83):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
- fil-forge/ingot#273 ([7be5b2f](fil-forge/ingot@7be5b2f))
- fil-forge/ingot#276 ([957e190](fil-forge/ingot@957e190))
- fil-forge/ingot#282 ([ebbc066](fil-forge/ingot@ebbc066))
- fil-forge/ingot#275 ([425d2cb](fil-forge/ingot@425d2cb))
- fil-forge/ingot#281 ([b36651a](fil-forge/ingot@b36651a))
- fil-forge/ingot#301 ([c1f3eaa](fil-forge/ingot@c1f3eaa))
- fil-forge/ingot#302 ([4585b83](fil-forge/ingot@4585b83))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 22, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:07f74c5`](https://github.com/orgs/fil-forge/packages/container/piri/1431242148)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..e8d7fd9`](fil-forge/piri@c2dc6b0...e8d7fd9):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))
- fil-forge/piri#192 ([9b3191c](fil-forge/piri@9b3191c))
- fil-forge/piri#121 ([0fbd8da](fil-forge/piri@0fbd8da))
- fil-forge/piri#194 ([3ef715b](fil-forge/piri@3ef715b))
- fil-forge/piri#196 ([1f79668](fil-forge/piri@1f79668))
- fil-forge/piri#197 ([476f1a2](fil-forge/piri@476f1a2))
- fil-forge/piri#198 ([1df9059](fil-forge/piri@1df9059))
- fil-forge/piri#193 ([e8d7fd9](fil-forge/piri@e8d7fd9))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:8a16655`](https://github.com/orgs/fil-forge/packages/container/ingot/1431251960)

What fil-forge/ingot brings over staging's pin, [`6331454..4585b83`](fil-forge/ingot@6331454...4585b83):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
- fil-forge/ingot#273 ([7be5b2f](fil-forge/ingot@7be5b2f))
- fil-forge/ingot#276 ([957e190](fil-forge/ingot@957e190))
- fil-forge/ingot#282 ([ebbc066](fil-forge/ingot@ebbc066))
- fil-forge/ingot#275 ([425d2cb](fil-forge/ingot@425d2cb))
- fil-forge/ingot#281 ([b36651a](fil-forge/ingot@b36651a))
- fil-forge/ingot#301 ([c1f3eaa](fil-forge/ingot@c1f3eaa))
- fil-forge/ingot#302 ([4585b83](fil-forge/ingot@4585b83))
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 23, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:07f74c5`](https://github.com/orgs/fil-forge/packages/container/piri/1431242148)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..e8d7fd9`](fil-forge/piri@c2dc6b0...e8d7fd9):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))
- fil-forge/piri#192 ([9b3191c](fil-forge/piri@9b3191c))
- fil-forge/piri#121 ([0fbd8da](fil-forge/piri@0fbd8da))
- fil-forge/piri#194 ([3ef715b](fil-forge/piri@3ef715b))
- fil-forge/piri#196 ([1f79668](fil-forge/piri@1f79668))
- fil-forge/piri#197 ([476f1a2](fil-forge/piri@476f1a2))
- fil-forge/piri#198 ([1df9059](fil-forge/piri@1df9059))
- fil-forge/piri#193 ([e8d7fd9](fil-forge/piri@e8d7fd9))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:8a16655`](https://github.com/orgs/fil-forge/packages/container/ingot/1431251960)

What fil-forge/ingot brings over staging's pin, [`6331454..4585b83`](fil-forge/ingot@6331454...4585b83):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
- fil-forge/ingot#273 ([7be5b2f](fil-forge/ingot@7be5b2f))
- fil-forge/ingot#276 ([957e190](fil-forge/ingot@957e190))
- fil-forge/ingot#282 ([ebbc066](fil-forge/ingot@ebbc066))
- fil-forge/ingot#275 ([425d2cb](fil-forge/ingot@425d2cb))
- fil-forge/ingot#281 ([b36651a](fil-forge/ingot@b36651a))
- fil-forge/ingot#301 ([c1f3eaa](fil-forge/ingot@c1f3eaa))
- fil-forge/ingot#302 ([4585b83](fil-forge/ingot@4585b83))
bajtos pushed a commit to fil-forge/infra-nodes that referenced this pull request Oct 23, 2026
Sets every staging pin in `nodes/staging/eu-central-3/apps/versions.env` to what
`nodes/dev/apps/versions.env` pins on `main`. Merging this is the promotion: the node picks
it up on its next reconcile pass, waits for a safe proving window and restarts each
service that changed.

This pull request is rebuilt on every push to `main` and closed once staging matches
dev, so edits to it are overwritten unless they are pushed to `bot/promote-staging` by hand.

## piri

[`sha256:1e91500`](https://github.com/orgs/fil-forge/packages/container/piri/1392106094) → [`sha256:07f74c5`](https://github.com/orgs/fil-forge/packages/container/piri/1431242148)

What fil-forge/piri brings over staging's pin, [`c2dc6b0..e8d7fd9`](fil-forge/piri@c2dc6b0...e8d7fd9):

- fil-forge/piri#108 ([7912ce0](fil-forge/piri@7912ce0))
- fil-forge/piri#177 ([37cb316](fil-forge/piri@37cb316))
- fil-forge/piri#175 ([0a2dc09](fil-forge/piri@0a2dc09))
- fil-forge/piri#180 ([2703e3e](fil-forge/piri@2703e3e))
- fil-forge/piri#182 ([8e3ce5d](fil-forge/piri@8e3ce5d))
- fil-forge/piri#178 ([fa5bc09](fil-forge/piri@fa5bc09))
- fil-forge/piri#179 ([c9565b3](fil-forge/piri@c9565b3))
- fil-forge/piri#183 ([1fef19d](fil-forge/piri@1fef19d))
- fil-forge/piri#184 ([dcf3f70](fil-forge/piri@dcf3f70))
- fil-forge/piri#174 ([3a9a3fd](fil-forge/piri@3a9a3fd))
- fil-forge/piri#187 ([3cd4f27](fil-forge/piri@3cd4f27))
- fil-forge/piri#192 ([9b3191c](fil-forge/piri@9b3191c))
- fil-forge/piri#121 ([0fbd8da](fil-forge/piri@0fbd8da))
- fil-forge/piri#194 ([3ef715b](fil-forge/piri@3ef715b))
- fil-forge/piri#196 ([1f79668](fil-forge/piri@1f79668))
- fil-forge/piri#197 ([476f1a2](fil-forge/piri@476f1a2))
- fil-forge/piri#198 ([1df9059](fil-forge/piri@1df9059))
- fil-forge/piri#193 ([e8d7fd9](fil-forge/piri@e8d7fd9))

## ingot

[`sha256:f629535`](https://github.com/orgs/fil-forge/packages/container/ingot/1386342616) → [`sha256:8a16655`](https://github.com/orgs/fil-forge/packages/container/ingot/1431251960)

What fil-forge/ingot brings over staging's pin, [`6331454..4585b83`](fil-forge/ingot@6331454...4585b83):

- fil-forge/ingot#265 ([83dc31d](fil-forge/ingot@83dc31d))
- fil-forge/ingot#267 ([9b7051f](fil-forge/ingot@9b7051f))
- fil-forge/ingot#266 ([6aa7eee](fil-forge/ingot@6aa7eee))
- fil-forge/ingot#283 ([d69bbf3](fil-forge/ingot@d69bbf3))
- fil-forge/ingot#284 ([324e294](fil-forge/ingot@324e294))
- fil-forge/ingot#285 ([4fddf05](fil-forge/ingot@4fddf05))
- fil-forge/ingot#286 ([f879a36](fil-forge/ingot@f879a36))
- fil-forge/ingot#287 ([fff9351](fil-forge/ingot@fff9351))
- fil-forge/ingot#289 ([03d12c3](fil-forge/ingot@03d12c3))
- fil-forge/ingot#269 ([319edf8](fil-forge/ingot@319edf8))
- fil-forge/ingot#295 ([31f159a](fil-forge/ingot@31f159a))
- fil-forge/ingot#296 ([30c90f3](fil-forge/ingot@30c90f3))
- fil-forge/ingot#298 ([b6d6b2e](fil-forge/ingot@b6d6b2e))
- fil-forge/ingot#292 ([7c9440d](fil-forge/ingot@7c9440d))
- fil-forge/ingot#293 ([f2b2628](fil-forge/ingot@f2b2628))
- fil-forge/ingot#297 ([31e01b0](fil-forge/ingot@31e01b0))
- fil-forge/ingot#291 ([a75c81a](fil-forge/ingot@a75c81a))
- fil-forge/ingot#300 ([49fec43](fil-forge/ingot@49fec43))
- fil-forge/ingot#299 ([9881bef](fil-forge/ingot@9881bef))
- fil-forge/ingot#279 ([bb88ee0](fil-forge/ingot@bb88ee0))
- fil-forge/ingot#278 ([0d16d90](fil-forge/ingot@0d16d90))
- fil-forge/ingot#280 ([5596df7](fil-forge/ingot@5596df7))
- fil-forge/ingot#273 ([7be5b2f](fil-forge/ingot@7be5b2f))
- fil-forge/ingot#276 ([957e190](fil-forge/ingot@957e190))
- fil-forge/ingot#282 ([ebbc066](fil-forge/ingot@ebbc066))
- fil-forge/ingot#275 ([425d2cb](fil-forge/ingot@425d2cb))
- fil-forge/ingot#281 ([b36651a](fil-forge/ingot@b36651a))
- fil-forge/ingot#301 ([c1f3eaa](fil-forge/ingot@c1f3eaa))
- fil-forge/ingot#302 ([4585b83](fil-forge/ingot@4585b83))

Co-authored-by: fil-forge-bot[bot] <318653112+fil-forge-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants