Skip to content

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

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.

This adds a short Observability section to AGENTS.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: OpenTelemetry metrics or traces, entries in Piri's telemetry and monitoring docs, and an alert or dashboard panel in fil-forge/infra-central. It also says to skip this for changes nothing operational depends on.

The section is kept short because AGENTS.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, under "Adding a signal". It sits outside docs/content/, so it isn't published on the operator site. It covers where to instrument (telemetry.go, *_metrics.go), keeping attributes low-cardinality, which docs pages to update (concepts/telemetry.md, and operator-guide/monitoring.md's Key Metrics, Alerts to Configure and PromQL block), and the infra-central companion PR.

The repo's existing CLAUDE.md already imports AGENTS.md, so it's unchanged.

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

Checks

  • git diff --check. mkdocs build --strict wasn't run here; the new file is outside docs_dir.

✴️

🤖 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
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, 19bf98d)

Approve with nits; nothing blocking or should-fix.

Verified

  • Cited files: pkg/pdp/service/telemetry.go and lib/jobqueue/worker/telemetry.go exist, as does docs/content/concepts/telemetry.md.
  • Monitoring page: monitoring.md has "Alerts to Configure" (L249) and the PromQL block under "PDP Proving Health".
  • Attribute advice: OTel attribute.String is how piri tags metrics, so "attributes" is the right word. The existing ones (queue, job_name, task_name, proof_set) are low-cardinality.
  • Whitespace: git diff --check is clean.

Findings

  1. nit, metric examples. telemetry.go isn't uniform. The cited pkg/pdp/service/telemetry.go only declares a tracer. The "last success" gauges the text recommends are in pkg/curiopdp/metrics.go, and other metrics live in *_metrics.go files.
  2. nit, monitoring page. monitoring.md also has a "Key Metrics" table, and its queries sit in the PDP Proving Health block, not beside the alerts table.

✴️


Generated by Claude Code

Peeja commented Oct 15, 2026

Copy link
Copy Markdown
Contributor Author

Claude author says…

Fixed in b3ef86d.

  1. Metric examples. It now says "telemetry.go or *_metrics.go", and the metric example is pkg/curiopdp/metrics.go.
  2. Monitoring page. It now names the "Key Metrics" table, for metrics operators should watch. Queries go "to the PromQL block with the others".

git diff --check is clean. This round found only nits, so there won't be another.

✴️


Generated by Claude Code

claude and others added 4 commits October 15, 2026 17:47
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
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
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

Peeja commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

Claude reviewer says… (round on the restructure, 944dde0)

This round reviewed all eight guidance PRs together.

Approve, with no findings for this PR's diff. 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 #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.
  • Here, the doc wraps at 100 with no longer line, and the AGENTS.md section is down from 20 lines to 7. docs_dir: content confirms docs/observability.md isn't published on the operator site.

✴️


Generated by Claude Code

Peeja commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

Claude author says…

One nit from the cross-PR review touched this PR's description: its "Companion PRs" line listed this PR. I've dropped that. There's no code change, so the head stays 944dde0.

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

✴️


Generated by Claude Code

@Peeja
Peeja merged commit 3a9a3fd into main Oct 16, 2026
11 checks passed
@Peeja
Peeja deleted the claude/happy-bell-cfh5qb-agents-observability branch October 16, 2026 21:35
Peeja added a commit to fil-forge/hilt that referenced this pull request Oct 16, 2026
…done (#98)

*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 `AGENTS.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: logs, complete trace spans, and an alert or dashboard panel in
fil-forge/infra-central. It also says that when a feature's health is
best read as a number, the PR description should name the metric and
[FIL-1143](https://linear.app/filecoin-foundation/issue/FIL-1143). It
also says to skip this for changes nothing operational depends on.

The section is kept short because `AGENTS.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`, with Logs (only CloudWatch logs
and AWS metrics reach Grafana from Central today), Metrics, Traces
(`tracing.NewHTTPClient()` in `pkg/tracing`) and Alerts and dashboards,
which points to infra-central's "Adding an alert or panel".

The repo's existing `CLAUDE.md` already imports `AGENTS.md`, so it's
unchanged.

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`.


[✴️](https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ


---
_Generated by [Claude Code](https://claude.ai/code)_

---------

Co-authored-by: Claude <noreply@anthropic.com>
Peeja added a commit to fil-forge/sprue that referenced this pull request Oct 16, 2026
…done (#140)

*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 `AGENTS.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: logs, complete trace spans, and an alert or dashboard panel in
fil-forge/infra-central. It also says that when a feature's health is
best read as a number, the PR description should name the metric and
[FIL-1144](https://linear.app/filecoin-foundation/issue/FIL-1144). It
also says to skip this for changes nothing operational depends on.

The section is kept short because `AGENTS.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`, with Logs, Metrics, Traces
(`tracing.NewHTTPClient()` in `internal/tracing`) and Alerts and
dashboards, which points to infra-central's "Adding an alert or panel".

The repo's existing `CLAUDE.md` already imports `AGENTS.md`, so it's
unchanged.

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`.


[✴️](https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ


---
_Generated by [Claude Code](https://claude.ai/code)_
Peeja added a commit to fil-forge/ingot that referenced this pull request Oct 16, 2026
…done (#266)

*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`.


[✴️](https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ


---
_Generated by [Claude Code](https://claude.ai/code)_

---------

Co-authored-by: Claude <noreply@anthropic.com>
Peeja added a commit to fil-forge/delegator that referenced this pull request Oct 16, 2026
…done (#61)

*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 `AGENTS.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: logs, and an alert or dashboard panel in
fil-forge/infra-central. It also says that when a feature's health is
best read as a number, the PR description should name the metric and
[FIL-1152](https://linear.app/filecoin-foundation/issue/FIL-1152). It
also says to skip this for changes nothing operational depends on.

The section is kept short because `AGENTS.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`: what reaches Grafana from
Central (logs, and AWS metrics for the load balancer, ECS and its
DynamoDB tables), how to log a failure on-call can act on, the metrics
note, and a pointer to infra-central's "Adding an alert or panel".

The repo's existing `CLAUDE.md` already imports `AGENTS.md`, so it's
unchanged.

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`.


[✴️](https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ


---
_Generated by [Claude Code](https://claude.ai/code)_
Peeja added a commit to fil-forge/swarf that referenced this pull request Oct 16, 2026
*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 `AGENTS.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: logs, and an alert or dashboard panel in
fil-forge/infra-central. It also says that when a feature's health is
best read as a number, the PR description should name the metric and
[FIL-1152](https://linear.app/filecoin-foundation/issue/FIL-1152). It
also says to skip this for changes nothing operational depends on.

The section is kept short because `AGENTS.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`: what reaches Grafana from
Central (logs, and AWS metrics for the load balancer, ECS and RDS), how
to log a failure on-call can act on, the metrics note, and a pointer to
infra-central's "Adding an alert or panel".

This PR no longer adds a `CLAUDE.md`. Claude Code reads `AGENTS.md`
itself from v2.1.277
([docs](https://code.claude.com/docs/en/memory#agents-md)).

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`.


[✴️](https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ


---
_Generated by [Claude Code](https://claude.ai/code)_
Peeja added a commit to fil-forge/piri-signing-service that referenced this pull request Oct 16, 2026
…done (#22)

*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 `AGENTS.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: logs, and an alert or dashboard panel in
fil-forge/infra-central. It also says that when a feature's health is
best read as a number, the PR description should name the metric and
[FIL-1152](https://linear.app/filecoin-foundation/issue/FIL-1152). It
also says to skip this for changes nothing operational depends on.

The section is kept short because `AGENTS.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`: what reaches Grafana from
Central (logs, and AWS metrics for the load balancer and ECS), how to
log a failure on-call can act on, the metrics note, and a pointer to
infra-central's "Adding an alert or panel".

The repo's existing `CLAUDE.md` already imports `AGENTS.md`, so it's
unchanged.

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`.


[✴️](https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ


---
_Generated by [Claude Code](https://claude.ai/code)_
fil-forge-bot Bot added a commit to fil-forge/infra-nodes that referenced this pull request Oct 16, 2026
Published from fil-forge/piri#174

- Digest: `sha256:d12d9845ef7d354a121f7ccdcdb0275047ea4e4d816248164a0b33f26ff6ea9f`
- Commit: fil-forge/piri@3a9a3fd
- Publish run: https://github.com/fil-forge/piri/actions/runs/38970412073

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 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.

2 participants