Skip to content

Axum readiness RC - #1541

Draft
ChristianPavilonis wants to merge 74 commits into
baseline/demo-main-20261110from
rc/axum-baseline-review-20261110
Draft

ChristianPavilonis wants to merge 74 commits into
baseline/demo-main-20261110from
rc/axum-baseline-review-20261110

Conversation

@ChristianPavilonis

@ChristianPavilonis ChristianPavilonis commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Exact inputs

Head: c7f8ca7e1ad09bdbae8de40ceaa50d658ef5b7dc.
Tree: b3cb8e8dd02390d9822880bee38196cd538520dc.
Review base: baseline/demo-main-20261110 at historical TS main 2dd968aeebeb2cc0d5110115f64e0ad58e2e1d13, already merged into original demo2423a2ed.

The user selected baseline cleanup and deferred current-main forwarding/provenance compatibility. This branch intentionally omits newer-main functionality; do not retarget/merge it into current main as an ordinary forward integration. Seven EdgeZero declarations and ten locked git sources use83d. Registry package/version sets match original final demo2423; Cargo reconciles four permitted dependency edges within that identical set.

Review sequence

Order PR Unit Current head State
1 #1531 native b1216763a Ready; existing state unchanged
2 #1532 geo affb0d0a4 Ready; existing state unchanged
3 #1533 http 1cfba70a2 Ready; existing state unchanged
4 #1534 async a8e61218f Ready; existing state unchanged
5 #1536 native-ec c568207db Ready; existing state unchanged
6 #1535 sourcepoint e2672968a Ready; existing state unchanged
7 #1537 storage f14eefa67 Ready; existing state unchanged
8 #1539 image b9e1ff2cf Ready; existing state unchanged
9 #1538 runtime 46f621112 Ready; existing state unchanged
10 #1540 examples ee7f68fcf Ready; existing state unchanged
11 #1545 ports #1498 relay1498 c7f8ca7e1 Draft; exact-head CI pending

The existing ten heads/bases and ready states are unchanged. New baseline port1545 requests aram356, prk-Jr and dhruv8sh. Source1498 remains main-based atf22a83fce without head/base/readiness changes. Integration1541 remains draft regardless of constituent readiness.

flowchart TD
  Native[Native prepared startup] --> Geo[Protected CloudFront Geo]
  Geo --> HTTP[Provider-local HTTP opt-in]
  HTTP --> Async[Shared async EC]
  Async --> EC[Native lifecycle and DynamoDB]
  EC --> SP[Existing Sourcepoint reconciliation]
  SP --> Stores[Explicit storage and celld]
  Stores --> Image[Source-built image]
  Image --> Wrapper[Separate runtime wrapper]
  Wrapper --> Examples[Sanitized examples]
  Examples --> Relay[1498 through baseline port 1545]
Loading

Relay1498 inclusion

The user authorized source1498 in this stack/RC. Baseline port1545 applies its feature-only delta from f22a83fceac98767979ac0dd406701e4a000c1db, not its newer-main ancestry. integrations.prebid.relay_soft_vendor_exception remains false by default and testing-only; omitted/false leave publisher rules unchanged. Explicittrue retains Purpose2, mapped GVL vendor and unrelated-bidder controls. No operator/deployment input is enabled.

The replay exposed the previously observed automatic-CMP ownership defect when explicitly enabled: later publisher denial plus stale CMP grant caused a stubbed identity request/cookie. The existing guarded-setter correction fromd827b6c7 applies cleanly and is included with normal/deferred/throwing-subscriber regressions. Public ownership transfer, listener retirement, zero requests/cookies after denial and finally restoration are exercised. This extra correction is in port1545, not claimed already present in source1498. No new owner/ledger, public bypass, production timer, retry, dependency pin or new consent policy.

34 guard/ownership and11 actual production-artifact cases pass, along with180 focused Rust Prebid cases. The baseline shim measures41,948 chars under a narrow42,500 cap with Prebid-free/separate-artifact controls retained; the newer-main54KB allowance is not copied. Original red receipts are retained.

Scope and corrections

Existing native snapshots, body/head/response ownership, supported deadlines, EC generation/grants/consent and protected CloudFront Geo behavior are retained. Unset caller deadlines delegate to EdgeZero through its existing dispatch_budget API instead of the original TS30-second fallback; three regression tests cover unset/default, explicit120-second and earlier explicit deadlines. No new production timer, retry, result ledger, unlimited workaround or raw HTTP fallback.

Routine fixes retain failed receipts: redundant test imports, HTTP table formatting and documentation host/port placeholders. Hosted docs build then caught a relative Terraform link outside the site; Native EC8b11dbad3 replaces it with the repository path without disabling dead-link checking. Docs ESLint/VitePress build and format pass at their changed inputs.

A hosted no-listener assertion failed while the child logged expected startup rejection. The old log lacks socket endpoints, so its exact subtype is unconfirmed. A controlled Linux reproduction proves successful TCP self-connection with no listener. Native8490c691d changes only the acceptance fixture to exclude equal local/peer endpoints; real-listener/self-connection controls pass. Nonzero exit, diagnostic, secret-redaction and the original startup deadline remain mandatory. Native default and final9356 all-feature acceptance9 cases/strict lint/fmt pass. No assertion waiver.

Older browser CI failures show Playwright1.58.2 refusing ubuntu-latest's new Ubuntu26.04 before installation. Nativeb1216763a pins only the browser job to ubuntu-24.04, preserving dependency versions, tests and assertions. Direct Actionlint passes at native/final inputs; actual supported-host browser execution remains pending. The only9356 ->ee7 difference is this CI host/comment.

Checks and outcomes

  • Fresh exactc7f8ca7e1 integration checkpoint: all31 local gate receipts exit0, including every adapter/CLI/codegen strict lint lane, Fastly/default/reuse/native/Cloudflare/Spin suites, host CLI,17 parity cases, JS build/1272 cases/lint/format, docs lint/format/site build, Markdown, digest/clock/proposal and changed-line domain checks. Ignores remain ignores.
  • Three explicitly selected real local celld suites pass: persistence, prepared startup and actual native HTTP issuance/withdrawal/restart/outage.
  • Pinned Moto plus real AppConfig Agent fixtures pass for config-only, secret-only and combined health/auth/TSJS, immutable snapshots, restart adoption and selected-provider failure before listen without fallback. No external AWS account.
  • Fresh exactc7f8ca7e1 producer build and real runtime smoke pass: sha256:8878057fb97f2e1d13ca1049acd18c4d7d21f67d5b1403851d29f898019fa435, linux/amd64 UID/GID10001, startup rejection, health/auth/TSJS, read-only root/writable mounts and in-flight SIGTERM drain. Prior images are retained separately and not substituted for this new JS/config input. No image push.
  • Separate wrapper14 literal publication/permission/signal cases and ShellCheck pass.
  • Credential-free workload40-resource closed-gate/task-contract mocks,2 workflow cases/actionlint, DynamoDB example backend-free init/validate and actual TS CLI strict validation of the fictional config pass.

Passing receipts are reused only where relevant inputs remain unchanged, not claimed as a fresh whole-tree rerun. Evidence root retains ts-baseline-final-proof.md, ts-baseline-combined/, ts-baseline-check-fixes/, ts-baseline-image-probe-fixed/, startup-control and docs logs, and the failed hosted receipts. All local parent runners are complete.

Limits and preserved work

The existing ten feature PRs retain their observed ready states without head/base changes. New port1545 and the advanced RC await exact-current-head hosted checks;1545 is draft and1541 remains draft. Local pass is not a hosted all-green claim. Obsolete own CI runs without failed jobs were cancelled to free the queue; recorded failed jobs remain retained. Cancellations/ignores/unrun checks are not passes. Historical-base main-only CodeQL is not triggered and is not claimed passed.

No external AWS/DynamoDB account, fleet/cloud durability, real publisher, external Next.js or combined wrapper-image/ECS-volume qualification. Geo is default-off protected CloudFront; KV Geo454 stays standalone prototype-only. Operational Terraform remains in trusted-server-deployer; TS examples contain fictional inputs only.

Original work, dirty Prebid builder inputs, recovery refs and old RCs remain preserved. Current-main1525/1526 ready and1527/1528 draft retain their exact heads/bases. EdgeZero stack465/draft462 and deployer40 are untouched. No1499/independent1506 implementation, unrelated privacy/group/codec/phase experiment, new worker, deployment, live input switch, main merge or old-RC closure. Relay work is limited to source1498 and the existing ownership correction described above.

Closes / spec

Refs #1530 and #1498; do not close the tracker or source PR from this draft publication. This is existing-demo extraction with narrow caller/build/fixture fixes, not a new forwarding or consent design. Historical specs/reviews remain input-bound records, not backdated approval of this combined source.

# Conflicts:
#	crates/trusted-server-adapter-axum/src/ec_kv_tests.rs
@ChristianPavilonis ChristianPavilonis changed the title New Axum TS RC Axum TS RC Nov 11, 2026
@ChristianPavilonis ChristianPavilonis changed the title Axum TS RC Axum RC Nov 11, 2026
@ChristianPavilonis
ChristianPavilonis changed the base branch from baseline/demo-main-20261110 to main November 11, 2026 18:05
@ChristianPavilonis
ChristianPavilonis changed the base branch from main to baseline/demo-main-20261110 November 11, 2026 18:05
@ChristianPavilonis ChristianPavilonis changed the title Axum RC Axum readiness RC Nov 11, 2026

This branch has not been deployed

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

1 participant