SDK release coherence — 2026-09-09
Target release: 2026.1. Required dependency of the 2026.1 SDK outcome gate.
Promoted for reproducible GP evidence. Pin the server digest, seed/config/auth revisions and SDK artifact for required GP runs; separate moving compatibility canaries from release admission. Verify #225/#226 through #21/#202 without adding another always-on full CI matrix. A fixture/config failure is failed evidence, not GP success.
Problem
ephemeral-server-smoke (.github/workflows/honua-gp-eval.yml) is a core, blocking lane, and both halves of its target are moving:
- the server image defaults to
ghcr.io/honua-io/honua-server:nightly-aot — a moving tag, not a digest;
- the seed fixtures come from
actions/checkout of honua-io/honua-server with no ref:, i.e. that repo's default-branch HEAD at run time.
So the lane's verdict on any given honua-sdk-python commit depends on what honua-server merged that day. A server-side regression reddens this repo's build verdict on a commit that cannot cause or fix it, and the same commit can flip red/green across re-runs with no change here. The response-value oracles in eval/golden/*.json are pinned to a specific seed shape, which makes the unpinned seed checkout the sharper of the two edges.
This is the same class of problem as honua-sdk-dotnet#300 (a moving-baseline lane attaching a verdict to a commit), and it matters for the release train: honua-release's gate_build_test reads the check-runs on a manifest-pinned sha and cannot distinguish "the SDK broke" from "nightly moved".
Found while fixing the layer-authorization root cause in #200; deliberately out of scope there.
Options to weigh
- Pin both (
honua-server@sha256:... + a ref: on the seed checkout) and promote them in a reviewed PR, mirroring conformance/PINS.md in honua-sdk-dotnet.
- Keep the lane moving but stop it from carrying the commit's build verdict, and report drift through an alert instead — the shape honua-sdk-dotnet#300 chose.
- Split it: a pinned blocking lane on PR/push plus a separate scheduled moving canary.
Acceptance criteria
- A recorded decision on whether
ephemeral-server-smoke may consume a moving upstream while blocking a commit.
- If pinned: the digest and seed ref are recorded in-repo with a documented promotion path.
- If left moving: the lane no longer contributes a failure conclusion to a commit's check-runs, and the drift signal has a named destination.
2026 migration backlog scheduling and acceptance addendum
Parent epic: honua-io/honua-release#316
Target release: 2026.1.
Priority: P1. Delivery order: service/layer import through the published .NET SDK first, JS codemods second, Python GP migration third.
Reuse this issue for reproducible GP live proof: choose a pinned blocking server image/seed pair plus an optional moving canary. Record immutable candidate identities and distinguish environment startup failure from GP correctness.
Additional completion requirements:
SDK release coherence — 2026-09-09
Target release: 2026.1. Required dependency of the 2026.1 SDK outcome gate.
Promoted for reproducible GP evidence. Pin the server digest, seed/config/auth revisions and SDK artifact for required GP runs; separate moving compatibility canaries from release admission. Verify #225/#226 through #21/#202 without adding another always-on full CI matrix. A fixture/config failure is failed evidence, not GP success.
Problem
ephemeral-server-smoke(.github/workflows/honua-gp-eval.yml) is a core, blocking lane, and both halves of its target are moving:ghcr.io/honua-io/honua-server:nightly-aot— a moving tag, not a digest;actions/checkoutofhonua-io/honua-serverwith noref:, i.e. that repo's default-branch HEAD at run time.So the lane's verdict on any given
honua-sdk-pythoncommit depends on what honua-server merged that day. A server-side regression reddens this repo's build verdict on a commit that cannot cause or fix it, and the same commit can flip red/green across re-runs with no change here. The response-value oracles ineval/golden/*.jsonare pinned to a specific seed shape, which makes the unpinned seed checkout the sharper of the two edges.This is the same class of problem as honua-sdk-dotnet#300 (a moving-baseline lane attaching a verdict to a commit), and it matters for the release train: honua-release's
gate_build_testreads the check-runs on a manifest-pinned sha and cannot distinguish "the SDK broke" from "nightly moved".Found while fixing the layer-authorization root cause in #200; deliberately out of scope there.
Options to weigh
honua-server@sha256:...+ aref:on the seed checkout) and promote them in a reviewed PR, mirroringconformance/PINS.mdin honua-sdk-dotnet.Acceptance criteria
ephemeral-server-smokemay consume a moving upstream while blocking a commit.2026 migration backlog scheduling and acceptance addendum
Parent epic: honua-io/honua-release#316
Target release: 2026.1.
Priority: P1. Delivery order: service/layer import through the published .NET SDK first, JS codemods second, Python GP migration third.
Reuse this issue for reproducible GP live proof: choose a pinned blocking server image/seed pair plus an optional moving canary. Record immutable candidate identities and distinguish environment startup failure from GP correctness.
Additional completion requirements: