Skip to content

Add EdgeZero PR 275 requirements and hard cutover spec - #1506

Draft
aram356 wants to merge 9 commits into
mainfrom
spec/edgezero-pr275-migration
Draft

aram356 wants to merge 9 commits into
mainfrom
spec/edgezero-pr275-migration

Conversation

@aram356

@aram356 aram356 commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Adds the requirements Trusted Server handed to EdgeZero for PR 275 (EZ-1 to EZ-25 and the EZ-Q1 qualification gate). EdgeZero has amended its own copy since; that copy is the contract EdgeZero is measured against.
  • Adds the design for cutting Trusted Server over to PR 275 in one change: every outbound call through EdgeZero's HttpClient, Fastly on EdgeZero's canonical lifecycle, and redirects through EdgeZero. Trusted Server's own outbound layer, backend naming, redirect loop, and Fastly delivery code are deleted.
  • The spec was checked against PR 275 head 9b31a697, where EdgeZero built the nine blocking requirements. Review 5798502238 found five blocking defects there, and later re-reviews verified all five fixed at 598f0a2a and 6f0cc74c. The cut is stacked on PR 275 and follows its head, so it picks those fixes up. Trusted Server adds no workaround.
  • Docs only. No code changes. The cutover itself is a separate pull request that follows this spec.

Changes

File Change
docs/superpowers/specs/2026-10-17-edgezero-pr275-requirements.md New. Behavior and acceptance criteria Trusted Server needs from EdgeZero PR 275, five review rounds. Its status line marks it as the handoff text
docs/superpowers/specs/2026-10-17-edgezero-pr275-hard-cutover-design.md New. Site-by-site migration onto PR 275, Fastly differences, configuration, consent and privacy, failure handling, open EdgeZero defects, rollout and qualification plan, tests, commit sequence, dependents inventory. Five review rounds, a 2026-11-06 update against 9b31a697, and a sixth round on that update

Closes

Closes #1513

Part of epic #1505. The cutover code is #1507, which stays open after this merges. EdgeZero qualification work for the cutover is #1508.

Spec

Spec: docs/superpowers/specs/2026-10-17-edgezero-pr275-hard-cutover-design.md (this PR). Its review log records five agent review rounds, a 2026-11-06 update that folds in a requirement-by-requirement check of PR 275, and a sixth round on that update. Round 6 found nothing blocking, and its 13 should-fix items are adopted. Round 7 is GitHub review 5810751514 at 854fe2e36 (1 blocking, 5 should-fix); all six findings were fixed in 5bd113408. Round 8 is review 5815168335 at 5bd113408: four fixes accepted and resolved, two partly fixed. Both remainders were fixed in a83dc4d89. Round 9 is review 5815676577 at a83dc4d89: both fixes accepted and resolved, no new defect, BLOCKED only on the open questions. 85f5ca3d9 records the maintainer's answers.

Maintainer decisions (2026-11-08)

The spec's seven open questions are answered and recorded in its "Maintainer answers" section:

  1. Merge gate. Don't wait for EdgeZero's qualification record. The cutover is stacked on PR 275 and follows its head, main pins the head it was last rebased onto, and production deploys don't wait for qualification.
  2. Timeouts. Each app sets its own limits, and EdgeZero already exposes every one. The current values stand: 60 s for streamed calls and the write deadline, 15 s buffered, 60 s for redirect chains, and EdgeZero's default 30 s inbound read deadline.
  3. Hosted qualification. The maintainer qualifies by hand for now, as the operator.
  4. HTTP/3. Qualified per adapter. Asked of EdgeZero in PR 275 thread r4504554519.
  5. In-flight pull requests. New uses of the old outbound layer aren't frozen. The cutover ports them when it rebases.
  6. Loopback bidder endpoints. Accepted: plain http on 127.0.0.1 and [::1].
  7. Bodiless Fastly framing. Strict suppression of HEAD, 204, 205, and 304 payloads, which is what the HTTP RFCs require. Trusted Server withdraws the bodiless part of EZ-18.4 and asked EdgeZero to amend its contract in PR 275 thread r4504573926.

Test plan

  • Docs format: docs/node_modules/.bin/prettier --config docs/.prettierrc --check on both specs
  • Other: claims checked against Trusted Server 51730bdaf and EdgeZero 8f82547b source by five independent agent review rounds; a compile probe of main repinned to 8f82547b (167 error sites) and a git grep dependents inventory (62 files) back the counts in the spec
  • Other: the 2026-11-06 update was checked against EdgeZero 9b31a697, which changes no public API and no line an earlier draft cited relative to 8f82547b, and reviewed by a fresh agent session (round 6, nothing blocking)
  • Docs gates at 5bd113408 (the review-fix revision; per the maintainer, docs gates only, because the change is one spec file and the code suite ran at 854fe2e36 in review 5810751514): cd docs && npm ci && npm run lint exit 0; npm run format exit 0, All matched files use Prettier code style!; Markdown outside docs/ Prettier check exit 0, All matched files use Prettier code style!; npm run build exit 0, build complete in 7.72s.; ts dev lint domains --changed-vs origin/main exit 0. The full code suite was not rerun at 5bd113408.
  • Docs gates at a83dc4d89 (round-8 fixes, same docs-only scope): cd docs && npm run lint exit 0; npm run format exit 0, All matched files use Prettier code style!; Markdown outside docs/ Prettier check exit 0, All matched files use Prettier code style!; npm run build exit 0, build complete in 6.41s.; ts dev lint domains --changed-vs origin/main exit 0. The full code suite was not rerun at a83dc4d89.
  • Docs gates at 85f5ca3d9 (maintainer answers, same docs-only scope): cd docs && npm run lint exit 0; npm run format exit 0, All matched files use Prettier code style!; Markdown outside docs/ Prettier check exit 0, All matched files use Prettier code style!; npm run build exit 0, build complete in 6.91s.; ts dev lint domains --staged --verbose exit 0, scanned 177 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-hard-cutover-design.md. The full code suite was not rerun at 85f5ca3d9.

Checklist

  • Feature PRs: spec linked above, ending in a review log of two or more agent review rounds
  • Changes follow AGENTS.md conventions
  • No secrets or credentials committed

Trusted Server moves onto EdgeZero PR 275 in one hard cut, using the canonical lifecycle on every adapter and EdgeZero's outbound API for every call, with no Trusted Server transport plumbing. This document states what EdgeZero must provide for that: nine blocking requirements, sixteen follow-ups, and a qualification gate, each with its need, the gap at the PR 275 head, observable requirements, and acceptance criteria.
Replace the stale draft, which kept the Trusted Server outbound layer and the
custom Fastly lifecycle, with a design on EdgeZero PR 275's APIs: every
outbound call through EdgeZero's HttpClient, Fastly on the canonical
lifecycle, and redirects through EdgeZero. The spec maps each outbound site,
inbound reader, and harness onto the new APIs, lists the Fastly behavior
differences, Trusted Server's share of EdgeZero's qualification run, and a
commit sequence with a dependents inventory, and records four review rounds.
Batch checks never poll the SDK on Fastly, so collection after the cutoff
uses batch.next(), and the expired-snapshot harness case and the late-bid
Fastly difference say so. The ported deadline test module stays out of the
platform::deadline path the dependents inventory searches. Two unverified
harness claims now cite Viceroy and EdgeZero source, and the review log
records round 5, which found nothing blocking.
Retarget H from 8f82547b to 9b31a697, which changes no public API and no
line an earlier draft cited. Fold in the per-requirement source check and
review 5798502238 on PR 275: correct the claims the EdgeZero source
contradicted, list the open EdgeZero defects at H, and close the gaps against
Trusted Server's own acceptance criteria (per-request synthesized headers on
Fastly, the head-conversion 500, parity on the Axum test server, and the legs
of the confirmed follow-ups). Add D19, D20, and Q7, and record the update and
its sixth review round in the review log.

Mark the requirements file as the text handed to EdgeZero, since EdgeZero's
amended copy is the contract it is measured against.

@aram356 aram356 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

REQUEST_CHANGES — GitHub rejected the formal change-request event (HTTP 422: "Review Can not request changes on your own pull request"). Acting login and PR author are both aram356. This COMMENT preserves the intended verdict and all six inline findings.

Specification/planning review of PR #1506 at 854fe2e36abf951ae0e4ee6522f67a93d361a3b7 (exact base 51730bdaf841e4d7bb96c2258e5e98169bdff9a7). Acting login and PR author: aram356.

Six concrete design corrections: one blocking and five should-fix. They are separate from the already-disclosed EdgeZero H defects and the pending Q1–Q7 maintainer decisions.

ID Severity Correction Design lines
F1 blocking Construct origin calls inside the shared response scope 576–579
F2 should-fix Make non-Fastly buffering match raw response paths 111–113
F3 should-fix Separate overlap eligibility from KV preload 542–543
F4 should-fix Handle malformed operator Connection before egress 1059–1062
F5 should-fix Preserve optimizer on the final client HEAD 703–705
F6 should-fix Document provider latency's changed stop point 505–508

H means immutable EdgeZero commit 9b31a69760255c279f163a3e56bc95a7eed228e3. Both documents and the complete diff were read. H's amended requirements control; the added TS requirements document is the historical handoff. D1–D4 remain settled. The review log records six rounds, but the draft awaits maintainer answers, and #1513 requires those answers to be recorded. This review does not approve implementation or the cutover.

The five audits cover provider construction/signing/budgets; batch timing/cancellation; all publisher variants/templates/range/EOF and ownership; consent/EC/privacy; ingress/egress/framing/canonical Fastly delivery; all four adapters; redirects and integrations O6–O15; assets/S3/optimizer; telemetry/pull sync; management API and async stores; six-crate pins/features/SDK fork; CLI manifest/build/serve/deploy; fixtures/snippets/CI; qualification/applicability, rollout and rollback.

Independent API probes reproduce raw-origin duplicate ownership and malformed operator Connection rejection. Source checks confirm the other four findings. The ownership probe uses H's real public facade and head finishing with a scripted transport; it does not execute a migrated TS app. Positive controls construct origin calls inside the body scope and preserve bytes. The lifecycle probe includes real TS privacy/cache helper sources and H's public framing API. Hosted optimizer behavior and future candidate qualification were not executed.

Additional planned privacy concession: detached synthesized headers can preserve a static operator Set-Cookie alongside public cache headers, while the current TS helper makes that same set private. The design explicitly gives up detached cookie-cache privacy, so this is not posted as an undisclosed EC identity leak. Investigated and closed: S3 normalization, HttpClient Send/Sync, an inherited 1 MiB streaming cap, mandatory Spin wasip2, settings retention and source-status loss.

Qualification cross-check: H's 511 inventory rows contain 256 blocking, 5 gate, 50 conditional and 200 follow-up. Its 261 required rows split into EdgeZero 237 (217 local/20 hosted) and TS 24 (15 local/4 hosted/5 consumer reviews). The amended contract allows confirmed-present parts/legs and explicit deferrals. D19's partial adoption is permitted; its extra assignments and the disclosed H defects must be reconciled and qualified at frozen C. Pending resource/measurement approvals are not inferred from scoped API approvals.

Current-head verification: every applicable prescribed local check has a passing final run. The same-head full-suite record has 99 command attempts: 97 exit 0 and two reviewer setup failures corrected and rerun. Coverage includes adapter/CLI/core tests, all clippy/build/check targets, JS (75 files/1,839 tests), docs/guards, parity, three cache harnesses, Fastly/Cloudflare/Spin deadline fixtures, integration matrix (39 passed), trace runtime/browser, and framework browsers (Next.js 53 passed/2 skipped; WordPress 32 passed/23 skipped). Full commands/exits/result lines follow.

Setup corrections: the initial Cloudflare fixture exited 1 with wasm-bindgen schema 0.2.126 versus CLI 0.2.121. Selecting the verified temporary 0.2.126 CLI through supported --wasm-bindgen made it pass. The first integration matrix exited 101 (36 passed/3 failed): reviewer origin port 28888 conflicted with prerendered 8888 URLs. Regenerating/rebuilding fixtures for canonical port 8888 made the same command/assertions/filters pass all 39. Source, dependencies, tests and CI were unchanged. No pre-existing-failure claim is made.

Environment: macOS/aarch64, Rust 1.98.1, Node 24.20.0, Viceroy 0.21.0, Spin 4.1.0, Wrangler 4.83.0, CI=true, CARGO_BUILD_JOBS=6. EOF-only local harnesses are conditional on publisher/HTML changes and do not apply here; PBS is path-filtered out. Linux NSS checks are OS-conditional on this Mac. CodeQL was green on GitHub, not executed locally. All 29 GitHub check entries were observed SUCCESS separately from reviewer results.

The full suite exercises the current v0.0.11 runtime at this docs-only head, not the proposed H/C cutover. Author compile-probe and transitive lock-graph claims are not presented as our fresh repin execution. No GitHub review or thread has been published during this investigation.

Next actor after publication: CREATOR corrects/disposes the six findings; the user/maintainer supplies or locates Q1–Q7 decisions. Findings remain outstanding until REVIEWER verification and acceptance. No approval or merge readiness is asserted.

Same-head full-suite commands, exits and actual result lines

Reviewed head: 854fe2e36abf951ae0e4ee6522f67a93d361a3b7. Exact PR base: 51730bdaf841e4d7bb96c2258e5e98169bdff9a7.

Runner: the independent REVIEWER team, through the build-validator agent in its detached reviewer worktree. These are fresh reviewer executions, separate from GitHub Actions results and from the author’s earlier probes.

environment

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

node --version; npm --version; cargo --version; rustc --version; viceroy --version; spin --version; wasm-bindgen --version; command -v worker-build; docker info --format "{{.ServerVersion}}"

Actual result lines:

wasm-bindgen 0.2.121
REVIEW HARNESS: exit code 0

js-setup

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-js/lib. Exit: 0.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

docs-setup

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/docs. Exit: 0.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

js-lint

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-js/lib. Exit: 0.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

js-format

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-js/lib. Exit: 0.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

js-build

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-js/lib. Exit: 0.

npm run build

Actual result lines:

REVIEW HARNESS: exit code 0

js-test

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-js/lib. Exit: 0.

npx vitest run

Actual result lines:

 Test Files  75 passed (75)
      Tests  1839 passed (1839)
Type Errors  no errors
REVIEW HARNESS: exit code 0

docs-lint

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/docs. Exit: 0.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

docs-format

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/docs. Exit: 0.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

markdown-format

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

docs/node_modules/.bin/prettier --config docs/.prettierrc --check "*.md" ".claude/**/*.md" ".github/**/*.md" "crates/**/*.md" "scripts/**/*.md" "tinybird/**/*.md"

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

docs-build

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/docs. Exit: 0.

npm run build

Actual result lines:

build complete in 6.85s.
REVIEW HARNESS: exit code 0

ci-node-pin-tests

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

node --test scripts/check-ci-node-pin.test.mjs

Actual result lines:

REVIEW HARNESS: exit code 0

ci-node-pin

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

node scripts/check-ci-node-pin.mjs

Actual result lines:

ok: 28 jobs in 8 workflows pin Node before compiling Rust
REVIEW HARNESS: exit code 0

docs-proposal-shellcheck

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

shellcheck scripts/docs-proposal/*.sh

Actual result lines:

REVIEW HARNESS: exit code 0

docs-proposal-hunks

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

node --test scripts/docs-proposal/hunks.test.mjs

Actual result lines:

REVIEW HARNESS: exit code 0

docs-proposal-test

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

scripts/docs-proposal/test.sh

Actual result lines:

REVIEW HARNESS: exit code 0

wasm-clock

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

scripts/lint-wasm-clock.sh

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.50s
REVIEW HARNESS: exit code 0

claude-symlink

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

test "$(git ls-tree HEAD CLAUDE.md | awk '{print $1}')" = 120000 && test "$(git cat-file blob HEAD:CLAUDE.md)" = AGENTS.md && test -f AGENTS.md && echo "CLAUDE.md symlink guard passed"

Actual result lines:

REVIEW HARNESS: exit code 0

cargo-fmt

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo fmt --all -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

clippy-fastly

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy-fastly

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.54s
REVIEW HARNESS: exit code 0

clippy-axum

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy-axum

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.51s
REVIEW HARNESS: exit code 0

clippy-cloudflare

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.86s
REVIEW HARNESS: exit code 0

clippy-cloudflare-wasm

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy-cloudflare-wasm

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.56s
REVIEW HARNESS: exit code 0

clippy-spin-native

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy-spin-native

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.47s
REVIEW HARNESS: exit code 0

clippy-spin-wasm

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy-spin-wasm

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.38s
REVIEW HARNESS: exit code 0

clippy-cli

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy-cli

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
REVIEW HARNESS: exit code 0

clippy-codegen

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy-codegen

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.61s
REVIEW HARNESS: exit code 0

core-digest-clippy

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy -p trusted-server-core --test template_build_digest -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.90s
REVIEW HARNESS: exit code 0

test-fastly

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test-fastly

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 11s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.89s
test result: ok. 3332 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 63.10s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 30 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 0.01s
REVIEW HARNESS: exit code 0

test-fastly-reuse

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test-fastly-reuse

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 30.55s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.68s
REVIEW HARNESS: exit code 0

test-axum

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test-axum

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 58.24s
test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-cloudflare

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test-cloudflare

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 20.49s
test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-spin

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test-spin

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 2.19s
test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

core-digest-test

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test -p trusted-server-core --test template_build_digest

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 29.89s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
REVIEW HARNESS: exit code 0

cli-test

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

./scripts/test-cli.sh

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 57s
test result: ok. 765 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.73s
test result: ok. 1 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 1.76s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.85s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.55s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
test result: ok. 1 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.10s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.90s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 771 filtered out; finished in 9.24s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 26.58s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 1.56s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 5.53s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 3.24s
REVIEW HARNESS: exit code 0

codegen-test

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test --package trusted-server-openrtb-codegen --target aarch64-apple-darwin

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 4.88s
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

parity-fmt

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo fmt --manifest-path crates/trusted-server-integration-tests/Cargo.toml -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

parity-test

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --test parity

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 36.72s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
REVIEW HARNESS: exit code 0

parity-clippy

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy --manifest-path crates/trusted-server-integration-tests/Cargo.toml --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.36s
REVIEW HARNESS: exit code 0

lint-domains

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo run --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --bin ts -- dev lint domains --changed-vs 51730bdaf841e4d7bb96c2258e5e98169bdff9a7 --verbose

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.46s
REVIEW HARNESS: exit code 0

build-fastly

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build-fastly

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.95s
REVIEW HARNESS: exit code 0

build-axum

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build-axum

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.38s
REVIEW HARNESS: exit code 0

build-cloudflare

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.09s
REVIEW HARNESS: exit code 0

check-fastly

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo check-fastly

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.82s
REVIEW HARNESS: exit code 0

check-axum

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo check-axum

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.88s
REVIEW HARNESS: exit code 0

check-cloudflare

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo check-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.96s
REVIEW HARNESS: exit code 0

check-spin

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo check-spin

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.71s
REVIEW HARNESS: exit code 0

check-cloudflare-native

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo check -p trusted-server-adapter-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.68s
REVIEW HARNESS: exit code 0

check-spin-native

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo check -p trusted-server-adapter-spin

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.44s
REVIEW HARNESS: exit code 0

fastly-release

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized + debuginfo] target(s) in 1m 17s
REVIEW HARNESS: exit code 0

spin-release

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

TRUSTED_SERVER__PUBLISHER__ORIGIN_URL=http://127.0.0.1:8080 TRUSTED_SERVER__PUBLISHER__PROXY_SECRET=integration-test-proxy-secret TRUSTED_SERVER__EC__PASSPHRASE=integration-test-ec-secret-padded-32 TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK=false cargo build --package trusted-server-adapter-spin --target wasm32-wasip1 --features spin --release

Actual result lines:

    Finished `release` profile [optimized + debuginfo] target(s) in 44.36s
REVIEW HARNESS: exit code 0

fastly-deadlines

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

node crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs "$(command -v viceroy)"

Actual result lines:

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 242 filtered out; finished in 0.33s
REVIEW HARNESS: exit code 0

cloudflare-deadline-build

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.17s
REVIEW HARNESS: exit code 0

cloudflare-deadline-clippy

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.09s
REVIEW HARNESS: exit code 0

spin-deadline-build

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.34s
REVIEW HARNESS: exit code 0

spin-deadline-clippy

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.62s
REVIEW HARNESS: exit code 0

wrangler-setup

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

npm install --prefix /private/tmp/review-1506-854fe2e/local-tools --no-audit --no-fund wrangler@4.83.0

Actual result lines:

REVIEW HARNESS: exit code 0

cloudflare-deadline-runtime

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 1.

node scripts/test-worker-auction-deadlines.mjs cloudflare --runtime /private/tmp/review-1506-854fe2e/local-tools/node_modules/.bin/wrangler

Actual result lines:

Error: Command failed: wasm-bindgen /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/target/wasm32-unknown-unknown/debug/examples/deadline_runtime.wasm --target web --out-dir /var/folders/yb/0xyfpf2162lf4p4zz6hpzfnm0000gn/T/ts-worker-deadline-F11hOY --out-name fixture
error: 
  rust Wasm file schema version: 0.2.126
     this binary schema version: 0.2.121
Currently the bindgen format is unstable enough that these two schema versions
    '  rust Wasm file schema version: 0.2.126\n' +
    '     this binary schema version: 0.2.121\n' +
    'Currently the bindgen format is unstable enough that these two schema versions\n' +
REVIEW HARNESS: exit code 1

spin-deadline-runtime

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

node scripts/test-worker-auction-deadlines.mjs spin --runtime "$(command -v spin)"

Actual result lines:

PASS spin /fast budget=80 origin=200: complete:206
PASS spin /headers budget=80 origin=0: timeout:82
PASS spin /body budget=80 origin=0: timeout:82
PASS spin /headers budget=80 origin=200: timeout:203
PASS spin /large budget=2000 origin=0: oversized:3
REVIEW HARNESS: exit code 0

trace-script-skipped

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_skipped_emitted_script_leaves_ad_state_untouched -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 43.62s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.51s
REVIEW HARNESS: exit code 0

trace-script-freezes

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_emitted_script_deep_freezes_owned_context_in_node -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 1.47s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.05s
REVIEW HARNESS: exit code 0

html-benchmark-smoke

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo bench -p trusted-server-core --bench html_processor_bench -- --test

Actual result lines:

    Finished `bench` profile [optimized + debuginfo] target(s) in 2m 05s
REVIEW HARNESS: exit code 0

template-cache-esi

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

BID_DELAY=3 ./scripts/template-cache-local-test.sh esi

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.76s
  22 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-inline

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

BID_DELAY=3 ./scripts/template-cache-local-test.sh inline

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.43s
  9 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-purge

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

BID_DELAY=3 ./scripts/template-cache-local-test.sh purge

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.58s
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.79s
  34 passed, 0 failed
REVIEW HARNESS: exit code 0

matching-bindgen

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

node --version; wasm-bindgen --version; wrangler --version

Actual result lines:

wasm-bindgen 0.2.126
REVIEW HARNESS: exit code 0

cloudflare-deadline-runtime-correct-bindgen

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

node scripts/test-worker-auction-deadlines.mjs cloudflare --runtime /private/tmp/review-1506-854fe2e/local-tools/node_modules/.bin/wrangler --wasm-bindgen /private/tmp/review-1506-854fe2e/wasm-bindgen-0.2.126/wasm-bindgen

Actual result lines:

PASS cloudflare /fast budget=80 origin=200: complete:203
PASS cloudflare /headers budget=80 origin=0: timeout:82
PASS cloudflare /body budget=80 origin=0: timeout:80
PASS cloudflare /headers budget=80 origin=200: timeout:202
REVIEW HARNESS: exit code 0

cloudflare-fixture-clippy

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy -p trusted-server-adapter-cloudflare --target wasm32-unknown-unknown --features cloudflare,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.01s
REVIEW HARNESS: exit code 0

spin-fixture-clippy

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy -p trusted-server-adapter-spin --target wasm32-wasip1 --features spin,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.26s
REVIEW HARNESS: exit code 0

cli-native-clippy

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo clippy --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.97s
REVIEW HARNESS: exit code 0

generate-integration-config

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.91s
REVIEW HARNESS: exit code 0

generate-trace-config

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace.toml INTEGRATION_BIDDER_ORIGIN_URL=http://127.0.0.1:28888 ARTIFACTS_DIR=/private/tmp/review-1506-854fe2e/integration-artifacts/trace ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s
REVIEW HARNESS: exit code 0

generate-trace-auth-config

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace-auth.toml ARTIFACTS_DIR=/private/tmp/review-1506-854fe2e/integration-artifacts/trace-auth ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.18s
REVIEW HARNESS: exit code 0

integration-fastly-release

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized + debuginfo] target(s) in 0.42s
REVIEW HARNESS: exit code 0

integration-axum-build

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build -p trusted-server-adapter-axum

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.33s
REVIEW HARNESS: exit code 0

integration-cloudflare-build

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

bash crates/trusted-server-adapter-cloudflare/build.sh

Actual result lines:

    Finished `release` profile [optimized + debuginfo] target(s) in 51.82s
REVIEW HARNESS: exit code 0

image-wordpress

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

docker build -t test-wordpress:latest crates/trusted-server-integration-tests/fixtures/frameworks/wordpress/

Actual result lines:

REVIEW HARNESS: exit code 0

image-nextjs

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

docker build --build-arg NODE_VERSION=24.20.0 -t test-nextjs:latest crates/trusted-server-integration-tests/fixtures/frameworks/nextjs/

Actual result lines:

REVIEW HARNESS: exit code 0

browser-setup

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-integration-tests/browser. Exit: 0.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

playwright-chromium

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-integration-tests/browser. Exit: 0.

npx playwright install chromium

Actual result lines:

REVIEW HARNESS: exit code 0

browser-prebid-artifact

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-js/lib. Exit: 0.

npm run build:prebid-external -- --modules-json '{"bidder":["rubiconBidAdapter"]}'

Actual result lines:

REVIEW HARNESS: exit code 0

initial-render-fixture-tests

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-integration-tests/browser. Exit: 0.

node --test initial-render/pages.test.cjs

Actual result lines:

REVIEW HARNESS: exit code 0

trace-fixture-tests

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-integration-tests/browser. Exit: 0.

node --test trace-fixture.test.cjs

Actual result lines:

REVIEW HARNESS: exit code 0

initial-render-ownership

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-integration-tests/browser. Exit: 0.

node initial-render/run.cjs --out /private/tmp/review-1506-854fe2e/initial-render-evidence

Actual result lines:

Controlled comparison assertions passed.
REVIEW HARNESS: exit code 0

prebuilt-trace-digest

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

mkdir -p /private/tmp/review-1506-854fe2e/prebuilt-bundle && node crates/trusted-server-js/lib/build-all.mjs --out-dir /private/tmp/review-1506-854fe2e/prebuilt-bundle && TSJS_PREBUILT_DIR=/private/tmp/review-1506-854fe2e/prebuilt-bundle cargo check-axum --locked

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.83s
REVIEW HARNESS: exit code 0

integration-matrix

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 101.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin -- --include-ignored --skip test_wordpress_fastly --skip test_nextjs_fastly --skip trace_browser_workflow --skip trace_runtime_boundary --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 50.69s
test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 29.28s
test result: FAILED. 36 passed; 3 failed; 0 ignored; 0 measured; 10 filtered out; finished in 13.69s
error: test failed, to rerun pass `--test integration`
REVIEW HARNESS: exit code 101

integration-fastly-ec

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin test_ec_lifecycle_fastly -- --include-ignored --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.62s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 48 filtered out; finished in 1.07s
REVIEW HARNESS: exit code 0

integration-trace-runtime

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_runtime_boundary -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 46 filtered out; finished in 17.78s
REVIEW HARNESS: exit code 0

integration-trace-browser

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_browser_workflow -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.85s
  1 passed (3.4s)
  1 passed (1.6s)
  1 passed (2.0s)
  1 passed (1.4s)
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 45 filtered out; finished in 20.98s
REVIEW HARNESS: exit code 0

browser-nextjs

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-integration-tests/browser. Exit: 0.

TEST_FRAMEWORK=nextjs PLAYWRIGHT_HTML_REPORT=/private/tmp/review-1506-854fe2e/playwright-report-nextjs npx playwright test

Actual result lines:

  2 skipped
  53 passed (35.3s)
REVIEW HARNESS: exit code 0

browser-wordpress

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/crates/trusted-server-integration-tests/browser. Exit: 0.

TEST_FRAMEWORK=wordpress PLAYWRIGHT_HTML_REPORT=/private/tmp/review-1506-854fe2e/playwright-report-wordpress npx playwright test

Actual result lines:

  23 skipped
  32 passed (29.2s)
REVIEW HARNESS: exit code 0

canonical-port-preflight

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

python3 /private/tmp/review-1506-854fe2e/check-canonical-port.py

Actual result lines:

REVIEW HARNESS: exit code 0

canonical-config

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.69s
REVIEW HARNESS: exit code 0

canonical-trace-config

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace.toml INTEGRATION_BIDDER_ORIGIN_URL=http://127.0.0.1:8888 ARTIFACTS_DIR=/private/tmp/review-1506-854fe2e/canonical-port-artifacts/trace ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.16s
REVIEW HARNESS: exit code 0

canonical-trace-auth-config

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace-auth.toml ARTIFACTS_DIR=/private/tmp/review-1506-854fe2e/canonical-port-artifacts/trace-auth ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s
REVIEW HARNESS: exit code 0

canonical-fastly-release

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized + debuginfo] target(s) in 23.97s
REVIEW HARNESS: exit code 0

canonical-axum-build

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo build -p trusted-server-adapter-axum

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.20s
REVIEW HARNESS: exit code 0

canonical-cloudflare-build

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

bash crates/trusted-server-adapter-cloudflare/build.sh

Actual result lines:

    Finished `release` profile [optimized + debuginfo] target(s) in 23.46s
REVIEW HARNESS: exit code 0

canonical-integration-matrix

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e. Exit: 0.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin -- --include-ignored --skip test_wordpress_fastly --skip test_nextjs_fastly --skip trace_browser_workflow --skip trace_runtime_boundary --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s
test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s
test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 18.80s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
REVIEW HARNESS: exit code 0
Deep API probes and source checks: commands, exits and actual result lines

Head: 854fe2e36abf951ae0e4ee6522f67a93d361a3b7. H: 9b31a69760255c279f163a3e56bc95a7eed228e3.

All worktree commands use their private prf_run guard. Probe sources, locks, numbered source excerpts and raw logs are retained in /private/tmp/pr1506-deep/.

publisher-ownership

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep. Exit: 0.

CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1 CARGO_TARGET_DIR=/private/tmp/pr1506-deep/probes/publisher/target cargo run --offline --locked --manifest-path /private/tmp/pr1506-deep/probes/publisher/ownership/Cargo.toml --target aarch64-apple-darwin

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.68s
mode=send variant=Buffered placement=Planned captured=Callback attach=internal:Internal { source: response body already owns an outbound scope, provider_detail: None }
mode=send variant=Buffered placement=NaiveRun captured=Callback attach=internal:Internal { source: response body already owns an outbound scope, provider_detail: None }
mode=send variant=Buffered placement=ConstructInsideRun captured=ResponseBody attach=ok
mode=send variant=PassThrough placement=Planned captured=Callback attach=internal:Internal { source: response body already owns an outbound scope, provider_detail: None }
mode=send variant=PassThrough placement=NaiveRun captured=Callback attach=internal:Internal { source: response body already owns an outbound scope, provider_detail: None }
mode=send variant=PassThrough placement=ConstructInsideRun captured=ResponseBody attach=ok
mode=begin variant=Buffered placement=Planned captured=Callback attach=internal:Internal { source: response body already owns an outbound scope, provider_detail: None }
mode=begin variant=Buffered placement=NaiveRun captured=Callback attach=internal:Internal { source: response body already owns an outbound scope, provider_detail: None }
mode=begin variant=Buffered placement=ConstructInsideRun captured=ResponseBody attach=ok
mode=begin variant=PassThrough placement=Planned captured=Callback attach=internal:Internal { source: response body already owns an outbound scope, provider_detail: None }
mode=begin variant=PassThrough placement=NaiveRun captured=Callback attach=internal:Internal { source: response body already owns an outbound scope, provider_detail: None }
mode=begin variant=PassThrough placement=ConstructInsideRun captured=ResponseBody attach=ok

lifecycle-framing

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep. Exit: 0.

CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1 CARGO_TARGET_DIR=/private/tmp/pr1506-deep/probes/lifecycle/target cargo run --offline --locked --manifest-path /private/tmp/pr1506-deep/probes/lifecycle/Cargo.toml --target aarch64-apple-darwin

Actual result lines:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.29s
operator connection="keep-alive": applied=Some("keep-alive"), egress=OK, status=200 OK, cookie=true, cache-control=Some("private, max-age=0")
operator connection="keep-alive,": applied=Some("keep-alive,"), egress=ERROR InvalidConnectionHeader
operator connection="": applied=Some(""), egress=ERROR InvalidConnectionHeader
operator connection="cache-control": applied=Some("cache-control"), egress=OK, status=200 OK, cookie=true, cache-control=None

publisher-streaming

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep. Exit: 0.

python3 /private/tmp/pr1506-deep/probes/publisher/source_evidence.py streaming

Actual result lines:

288:                             ResponseMode::Buffered { max_bytes } => {
296:                             ResponseMode::Streamed => {
1524:             response_mode: ResponseMode::Buffered {
1555:         ResponseMode::Buffered { max_bytes } => Some(max_bytes),
1556:         ResponseMode::Streamed => None,

publisher-overlap

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep. Exit: 0.

python3 /private/tmp/pr1506-deep/probes/publisher/source_evidence.py overlap

Actual result lines:

3460:     let eligible = input.is_navigation && input.is_get && input.has_ec_id && input.has_kv;
5302:         has_kv: kv.is_some(),

publisher-telemetry

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep. Exit: 0.

python3 /private/tmp/pr1506-deep/probes/publisher/source_evidence.py telemetry

Actual result lines:

2375:                         let response_time_ms = state.started_at.elapsed().as_millis() as u64;
655:             match completed_at.checked_duration_since(self.context.started_at) {

publisher-ownership-sources

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep. Exit: 0.

python3 /private/tmp/pr1506-deep/probes/publisher/source_evidence.py ownership

Actual result lines:

288:                             ResponseMode::Buffered { max_bytes } => {
296:                             ResponseMode::Streamed => {

transport-sources

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep. Exit: 0.

python3 /private/tmp/pr1506-deep/probes/transport/audit_sources.py

Actual result lines:

CONFIRMED: current asset routing admits HEAD
CONFIRMED: successful preflight proceeds to final asset request
CONFIRMED: current final asset send preserves client method
CONFIRMED: current final asset send attaches optimizer without GET guard
CONFIRMED: H optimizer validator supports HEAD
CONFIRMED: design restricts optimizer attachment to GET
HEAD-MAPPING RESULT: current final client HEAD carries optimizer; proposed GET-only instruction omits it.
Source evidence: 42 exact-range reads at 854fe2e36abf951ae0e4ee6522f67a93d361a3b7

build-sources

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep. Exit: 0.

python3 /private/tmp/pr1506-deep/probes/build/audit_sources.py

Actual result lines:

H workspace exact version requirements: 26
H Spin SDK fork: https://github.com/stackpop/spin-rust-sdk.git @ 6c59ed5b4fcb377072763aee0b27a3abdd8edb72 (=7.0.0)
TS Spin build/serve/deploy: all three explicit manifest shell commands
TS Spin build/artifact source: wasm32-wasip1
TS Spin outbound hosts: HTTP and HTTPS wildcard; missing portable hosts list requires planned addition
TS EdgeZero pins: all six share IABTechLab/edgezero v0.0.11 source before migration
Read evidence: 32 exact-range source reads at 854fe2e36abf951ae0e4ee6522f67a93d361a3b7

Qualification source/inventory check

Command: python3 /private/tmp/pr1506-deep/audit-root.py; exit 0. Actual parsed output:

{
  "all_rows": 511,
  "applicability": {
    "blocking": 256,
    "conditional": 50,
    "follow-up": 200,
    "gate": 5
  },
  "required_rows": 261,
  "required_owner": {
    "EdgeZero": 237,
    "Trusted Server": 24
  },
  "edgezero_required_environment": {
    "local": 217,
    "hosted": 20
  },
  "ts_required_environment": {
    "consumer-hosted-fastly/http2": 1,
    "consumer-viceroy": 6,
    "consumer-workerd": 2,
    "consumer-axum": 3,
    "consumer-hosted-fastly": 2,
    "consumer-unit/core": 2,
    "consumer-spin": 1,
    "consumer-hosted-fastly/io-entitled": 1,
    "consumer-unit/core/profile-readback": 1,
    "consumer-review": 5
  }
}

Exact suggestion validation

Two replacements apply to the exact original RIGHT-side ranges. The complete resulting document passed the repository Prettier configuration. Four coordinated corrections stay comment-only.

/Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/docs/node_modules/.bin/prettier --config /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/docs/.prettierrc --check /private/tmp/pr1506-deep/suggestion-preview.md

Exit: 0.

Checking formatting...
All matched files use Prettier code style!

Reviewer tooling errors

An initial lifecycle probe passed SynthesizedResponseHeaders where App::set_synthesized_response_headers requires HeaderMap and failed to compile; only the temporary probe was corrected. The root inventory script initially used the wrong owner literal. An early read-only prf_run pair raced on its private inventory .new file; subsequent wrappers were serialized. These are reviewer tooling errors, not repository failures. Final successful executions and the two corrected prescribed-suite setup failures are distinguished above.

Command: git apply --check /private/tmp/pr1506-deep/suggestions.patch; exit 0.

Command: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/docs/node_modules/.bin/prettier --config /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e/docs/.prettierrc --check /private/tmp/pr1506-deep/suggestion-preview.md; exit 0.

Checking formatting...
All matched files use Prettier code style!

Final source state

Command: bash -c '. "$0" && prf_run "$@"' /Users/ag/projects/iab/trusted-server/.git/worktrees/review-1506-854fe2e-deep/prfection-lib.sh /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-deep python3 -c 'import subprocess; print(subprocess.check_output(["git","rev-parse","HEAD"],text=True),end=""); print(subprocess.check_output(["git","status","--porcelain=v1"],text=True),end=""); subprocess.run(["git","diff","--exit-code","HEAD"],check=True)'; exit 0.

Complete output: '854fe2e36abf951ae0e4ee6522f67a93d361a3b7\n'.

Command: bash -c '. "$0" && prf_run "$@"' /Users/ag/projects/iab/trusted-server/.git/worktrees/review-1506-854fe2e-publisher/prfection-lib.sh /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-publisher python3 -c 'import subprocess; print(subprocess.check_output(["git","rev-parse","HEAD"],text=True),end=""); print(subprocess.check_output(["git","status","--porcelain=v1"],text=True),end=""); subprocess.run(["git","diff","--exit-code","HEAD"],check=True)'; exit 0.

Complete output: '854fe2e36abf951ae0e4ee6522f67a93d361a3b7\n'.

Command: bash -c '. "$0" && prf_run "$@"' /Users/ag/projects/iab/trusted-server/.git/worktrees/review-1506-854fe2e-transport/prfection-lib.sh /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-transport python3 -c 'import subprocess; print(subprocess.check_output(["git","rev-parse","HEAD"],text=True),end=""); print(subprocess.check_output(["git","status","--porcelain=v1"],text=True),end=""); subprocess.run(["git","diff","--exit-code","HEAD"],check=True)'; exit 0.

Complete output: '854fe2e36abf951ae0e4ee6522f67a93d361a3b7\n'.

Command: bash -c '. "$0" && prf_run "$@"' /Users/ag/projects/iab/trusted-server/.git/worktrees/review-1506-854fe2e-lifecycle/prfection-lib.sh /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-854fe2e-lifecycle python3 -c 'import subprocess; print(subprocess.check_output(["git","rev-parse","HEAD"],text=True),end=""); print(subprocess.check_output(["git","status","--porcelain=v1"],text=True),end=""); subprocess.run(["git","diff","--exit-code","HEAD"],check=True)'; exit 0.

Complete output: '854fe2e36abf951ae0e4ee6522f67a93d361a3b7\n'.

The original full-suite worktree's prior same-head clean-state proof remains in the suite record; no later source edits were made there. All five REVIEWER worktrees are retained pending user triage and publication/readback.

Construct the publisher origin send and begin inside the response-body
scope, so a raw origin body never gets its own owner and the attach holds.
Collect every raw publisher variant on Axum, Cloudflare, and Spin before
egress under today's caps. Narrow the overlap claim and test 6 to where the
overlap runs. Extend D10 to operator hop-by-hop fields, keep Image Optimizer
options on the final client HEAD, and state the telemetry latency's changed
stop point.

@aram356 aram356 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

REQUEST_CHANGES — GitHub rejected the formal change-request event (HTTP 422: "Review Can not request changes on your own pull request"). Acting login and PR author are both aram356. This COMMENT records the intended verdict; four verified threads are resolved and two remain open.

Re-review of PR #1506 at 5bd11340844d2954c0c057cd2f914fa2544443d4, after review 5810751514 at 854fe2e36abf951ae0e4ee6522f67a93d361a3b7. Exact base: 51730bdaf841e4d7bb96c2258e5e98169bdff9a7. Phase: specification/planning. Acting login and PR author: aram356.

Four previous findings are verified, accepted and resolved: F1 (origin ownership), F3 (overlap eligibility), F5 (final HEAD optimizer), and F6 (latency stop point). Every reply and resolved/open state was independently read back from GitHub. F2 and F4 are partly fixed and remain in their existing threads. No duplicate finding threads or new one-click suggestions are proposed.

  • F2, should-fix: raw buffering/pre-egress errors are now covered, but processed HTML loses the former Cloudflare 10 MiB / Spin 8 MiB origin-input bounds. The new text gives only raw variants the adapter cap and keeps the processed-output setting (default 16 MiB). Preserve input/expanded-body limits independently of output limits, or explicitly adopt/disclose/qualify the relaxation; add processed-HTML boundary cases.
  • F4, should-fix: the new fixed-name ban handles malformed operator Connection, but the new wire-equivalence rationale is false for nominated fields. H removes x-example with Connection:x-example and retains it when that Connection is omitted. State/test the chosen retained-nominee consequence or preserve nomination removal before omission. No pre-cut Fastly wire regression or credential leak is alleged.

Both residuals are discussed in the original F2/F4 threads; their original malformed/raw-stream causes are acknowledged as addressed. Four acceptances cover the plan corrections, not an implementation that this docs-only PR does not contain.

The full updated design (2495 lines), unchanged historical handoff (2197 lines), complete base-to-head diff, fixing commit, every review/root/reply page, current checks, and issue acceptance criteria were inspected. Runtime, test and build code is unchanged from both the prior reviewed head and base. H is the immutable EdgeZero commit 9b31a69760255c279f163a3e56bc95a7eed228e3; its amended contract controls, not the TS handoff copy.

Coverage includes all four adapters and O1–O19, auction build/sign/budget/cancellation, publisher raw/range/HTML/template/EOF paths, EC/consent/privacy, canonical Fastly ingress/prepare/finalize/delivery/post-work, redirects/integrations/assets/S3/optimizer, async management stores, six-crate pins/features/SDK fork, CLI build/serve/deploy, manifests/fixtures/snippets/CI, applicability/qualification, rollout and rollback. Fresh source inventories remain 62 dependent files and 37 async-store implementers; H has 26 direct exact pins. The cold-start nested-block_on hypothesis was checked and withdrawn using the real call order.

Root independently reran the locked public H ownership/byte-limit probe: exit 0, 59 cases; 126/126 dependency identity/version/source/checksum tuples match H. It uses real facade preparation/head finishing with a fixed clock and scripted transport. It checks ownership, raw byte collection, and input-limit mechanics, not a full TS transformer or deployed runtime. Root's separate locked framing probe includes the real unchanged TS privacy/cache helper sources and demonstrates the Connection-nomination difference.

Qualification cross-check: H's 511 inventory rows split into 256 blocking, 5 gate, 50 conditional and 200 follow-up. Its 261 required rows are EdgeZero 237 (217 local/20 hosted) and TS 24 (15 local/4 hosted/5 consumer reviews). Confirmed-present parts/legs and explicit deferrals remain permitted under the amended EZ-Q1.6/Q1.8. Disclosed H defects, D19 reconciliation and future frozen-C qualification are not presented as fresh TS defects or as qualifications completed by this review.

Q1–Q7 remain open, as the design status and issue #1513 completion criteria state. The user/maintainer still supplies or locates those decisions; CREATOR records them. Settled D1–D4 are not re-opened. The detached static-operator-cookie/cache-privacy concession remains explicitly disclosed and visible in the audit, not recast as an undisclosed per-user EC leak.

Independent current-head full-suite execution completed: 93 completed command attempts, 92 exits of 0. The first Fastly deadline harness failed at deadline.rs:916, ‘should finish before deadline’ (harness exit1/Viceroy134); the exact unchanged full rerun passed all5. Its cause remains unconfirmed; no pre-existing/environmental classification or user dismissal is claimed. All applicable prescribed checks have passing final runs; the first failed attempt remains fully recorded. The final audit confirmed the exact head, empty staged/unstaged diffs and blank status. The ownership wrapper completed exit0. CREATOR-supplied docs-only logs/permission claims are attributed to CREATOR and do not substitute for this independent run. The suite runs current v0.0.11 runtime code at this docs-only head, not the future H/C cutover. No merge or approval is asserted.

Next actors: CREATOR finishes F2/F4; user/maintainer answers Q1–Q7. F1/F3/F5/F6 are resolved after independent verification; F2/F4 remain open. This is a change request, not approval.

Existing finding Verified state Reviewer disposition
F1 Resolved Reply
F2 Open, partly fixed Reply
F3 Resolved Reply
F4 Open, partly fixed Reply
F5 Resolved Reply
F6 Resolved Reply

Remote GitHub checks: 29 entries; states SUCCESS. Those service-run results are separate from the reviewer’s local execution; CodeQL was not run locally.

Local verification includes all eight clippy aliases; five Rust test aliases; CLI/codegen/digest; per-target debug/release/checks; docs/JS/Markdown/guards; JS1839/75files; allthree cache controls22/9/34; realCF4/Spin5deadlinecases; complete integration39/generator13/snippets2/parity28; separateEC1; trace3/runtime+4/browser; frameworkbrowsersNext.js53pass2skip andWordPress32pass23skip. No ignored/skipped test was represented as passing.

Independent current-head suite: exact commands, exits and actual result lines

Resolved CWD base REVIEW_WT: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-5bd1134-build. Raw-log base: /private/tmp/pr1506-r2-5bd1134/build. Only repeated narrative path metadata is abbreviated below; command strings and actual result blocks remain unchanged.

Reviewed head: 5bd11340844d2954c0c057cd2f914fa2544443d4. Exact PR base: 51730bdaf841e4d7bb96c2258e5e98169bdff9a7.

Runner: independent REVIEWER build-validator in its own detached worktree; every command ran inside the PRfection ownership wrapper. These are current-head reviewer executions, independent of author logs and prior-head results.

Selected environment: Node 24.20.0, npm 11.19.0, Rust/Cargo 1.98.1, Viceroy 0.21.0, Spin 4.1.0, wasm-bindgen 0.2.126, Wrangler 4.83.0, Docker desktop-linux. CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1, CI=true, CARGO_BUILD_JOBS=6, WRANGLER_SEND_METRICS=false, NO_COLOR=1. Remaining Rust phases use CARGO_INCREMENTAL=0, CARGO_PROFILE_DEV_DEBUG=0, CARGO_PROFILE_TEST_DEBUG=0, CARGO_PROFILE_BENCH_DEBUG=0, CARGO_PROFILE_RELEASE_DEBUG=0; default optimization levels, debug assertions, test selection, targets, and CI filters are unchanged. Runtime integration settings use canonical origin port 8888 and fictional fixture secrets/partners from the CI configuration.

Reviewer tooling: the initial read-only preflight (head/status/instructions/config/workflow listing) could not touch its private Git ownership metadata inside the sandbox. It created no worktree artifacts; later setup and checks ran through the escalated functioning ownership wrapper. This tooling permission error is separate from repository check results.

Storage bookkeeping: the first wasm-clock invocation was intentionally interrupted to restart unfinished Rust checks without incremental caches/debug symbols during low disk space. Its partial raw log is 17-wasm-clock.interrupted.log; storage-restart.json records that event. The resumed full wasm-clock check passed. cargo clean removed only this reviewer worktree's initial incomplete target (574.3 MiB). All completed JS/docs checks were retained without rerunning them.

Fastly deadline result: the first complete harness attempt exited 1 because its Viceroy test process exited 134 at network_fast_sibling_completes_while_another_body_trickles, deadline.rs:916, should finish before deadline. A later full, unchanged five-test rerun passed, exit 0, with the same command/environment/assertions. Both attempts are preserved below. The cause is unconfirmed; a passing rerun does not establish pre-existing or environmental causation, and this agent has not reproduced the failure at the exact base.

Scope notes: EOF finalization local harnesses are conditional on changes to EOF/publisher/HTML processor implementation and are not applicable to this docs-only PR. Linux real NSS trust tests are OS-specific and are not executable on this macOS host. CodeQL is a separate remote service check. CI-prescribed integration name filters and browser skip conditions are retained verbatim; ignored/skipped counts below are reported as such.

Completed command attempts: 93; exit 0: 92; nonzero: 1.

environment

CWD relative to REVIEW_WT: .. Exit: 0. Log: 01-environment.log.

node --version; npm --version; cargo --version; rustc --version; viceroy --version; spin --version; wasm-bindgen --version; command -v worker-build; docker info --format "{{.ServerVersion}}"

Actual result lines:

v24.20.0
11.19.0
cargo 1.98.1 (797e8a9bc 2026-08-05)
rustc 1.98.1 (48a229cea 2026-09-01)
viceroy 0.21.0
spin 4.1.0 (c0b3726 2026-08-25)
wasm-bindgen 0.2.126
REVIEW HARNESS: exit code 0

js-setup

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 02-js-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

docs-setup

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 03-docs-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

js-lint

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 04-js-lint.log.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

js-format

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 05-js-format.log.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

js-build

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 06-js-build.log.

npm run build

Actual result lines:

REVIEW HARNESS: exit code 0

js-test

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 07-js-test.log.

npx vitest run

Actual result lines:

Testing types with tsc and vue-tsc is an experimental feature.
 Test Files  75 passed (75)
      Tests  1839 passed (1839)
Type Errors  no errors
REVIEW HARNESS: exit code 0

docs-lint

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 08-docs-lint.log.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

docs-format

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 09-docs-format.log.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

markdown-format

CWD relative to REVIEW_WT: .. Exit: 0. Log: 10-markdown-format.log.

docs/node_modules/.bin/prettier --config docs/.prettierrc --check "*.md" ".claude/**/*.md" ".github/**/*.md" "crates/**/*.md" "scripts/**/*.md" "tinybird/**/*.md"

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

docs-build

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 11-docs-build.log.

npm run build

Actual result lines:

build complete in 18.40s.
REVIEW HARNESS: exit code 0

ci-node-pin-tests

CWD relative to REVIEW_WT: .. Exit: 0. Log: 12-ci-node-pin-tests.log.

node --test scripts/check-ci-node-pin.test.mjs

Actual result lines:

ℹ tests 30
ℹ pass 30
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

ci-node-pin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 13-ci-node-pin.log.

node scripts/check-ci-node-pin.mjs

Actual result lines:

ok: 28 jobs in 8 workflows pin Node before compiling Rust
REVIEW HARNESS: exit code 0

docs-proposal-shellcheck

CWD relative to REVIEW_WT: .. Exit: 0. Log: 14-docs-proposal-shellcheck.log.

shellcheck scripts/docs-proposal/*.sh

Actual result lines:

REVIEW HARNESS: exit code 0

docs-proposal-hunks

CWD relative to REVIEW_WT: .. Exit: 0. Log: 15-docs-proposal-hunks.log.

node --test scripts/docs-proposal/hunks.test.mjs

Actual result lines:

ℹ tests 20
ℹ pass 20
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

docs-proposal-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 16-docs-proposal-test.log.

scripts/docs-proposal/test.sh

Actual result lines:

All documentation proposal script tests passed.
REVIEW HARNESS: exit code 0

storage-clean

CWD relative to REVIEW_WT: .. Exit: 0. Log: 01-storage-clean.log.

cargo clean

Actual result lines:

REVIEW HARNESS: exit code 0

wasm-clock

CWD relative to REVIEW_WT: .. Exit: 0. Log: 18-wasm-clock.log.

scripts/lint-wasm-clock.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 50.81s
REVIEW HARNESS: exit code 0

claude-symlink

CWD relative to REVIEW_WT: .. Exit: 0. Log: 19-claude-symlink.log.

test "$(git ls-tree HEAD CLAUDE.md | awk '{print $1}')" = 120000 && test "$(git cat-file blob HEAD:CLAUDE.md)" = AGENTS.md && test -f AGENTS.md && echo "CLAUDE.md symlink guard passed"

Actual result lines:

CLAUDE.md symlink guard passed
REVIEW HARNESS: exit code 0

cargo-fmt

CWD relative to REVIEW_WT: .. Exit: 0. Log: 20-cargo-fmt.log.

cargo fmt --all -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

clippy-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 21-clippy-fastly.log.

cargo clippy-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 49s
REVIEW HARNESS: exit code 0

clippy-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 22-clippy-axum.log.

cargo clippy-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 44s
REVIEW HARNESS: exit code 0

clippy-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 23-clippy-cloudflare.log.

cargo clippy-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 48.98s
REVIEW HARNESS: exit code 0

clippy-cloudflare-wasm

CWD relative to REVIEW_WT: .. Exit: 0. Log: 24-clippy-cloudflare-wasm.log.

cargo clippy-cloudflare-wasm

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 15.35s
REVIEW HARNESS: exit code 0

clippy-spin-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 25-clippy-spin-native.log.

cargo clippy-spin-native

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 5.34s
REVIEW HARNESS: exit code 0

clippy-spin-wasm

CWD relative to REVIEW_WT: .. Exit: 0. Log: 26-clippy-spin-wasm.log.

cargo clippy-spin-wasm

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 59.13s
REVIEW HARNESS: exit code 0

clippy-cli

CWD relative to REVIEW_WT: .. Exit: 0. Log: 27-clippy-cli.log.

cargo clippy-cli

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 37s
REVIEW HARNESS: exit code 0

clippy-codegen

CWD relative to REVIEW_WT: .. Exit: 0. Log: 28-clippy-codegen.log.

cargo clippy-codegen

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.48s
REVIEW HARNESS: exit code 0

core-digest-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 29-core-digest-clippy.log.

cargo clippy -p trusted-server-core --test template_build_digest -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 17.74s
REVIEW HARNESS: exit code 0

test-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 30-test-fastly.log.

cargo test-fastly

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 3m 38s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 1.49s
test result: ok. 3332 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 157.38s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 30 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-fastly-reuse

CWD relative to REVIEW_WT: .. Exit: 0. Log: 31-test-fastly-reuse.log.

cargo test-fastly-reuse

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1m 31s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.60s
REVIEW HARNESS: exit code 0

test-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 32-test-axum.log.

cargo test-axum

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 41.27s
test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 33-test-cloudflare.log.

cargo test-cloudflare

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 20.84s
test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-spin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 34-test-spin.log.

cargo test-spin

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 3.66s
test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

core-digest-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 35-core-digest-test.log.

cargo test -p trusted-server-core --test template_build_digest

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 21.99s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
REVIEW HARNESS: exit code 0

cli-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 36-cli-test.log.

./scripts/test-cli.sh

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 3m 28s
test result: ok. 765 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.86s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 1.71s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.75s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.82s
test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.54s
test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.15s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.06s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
test result: ok. 1 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.23s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 3.06s
    Finished `test` profile [unoptimized] target(s) in 0.72s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 771 filtered out; finished in 12.74s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 0.68s
    Finished `test` profile [unoptimized] target(s) in 0.30s
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 41.30s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.19s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 5.14s
    Finished `test` profile [unoptimized] target(s) in 1.69s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 774 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 16.72s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 3.01s
    Finished `test` profile [unoptimized] target(s) in 1.71s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 774 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 10.66s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

codegen-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 37-codegen-test.log.

cargo test --package trusted-server-openrtb-codegen --target aarch64-apple-darwin

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 16.70s
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

parity-fmt

CWD relative to REVIEW_WT: .. Exit: 0. Log: 38-parity-fmt.log.

cargo fmt --manifest-path crates/trusted-server-integration-tests/Cargo.toml -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

parity-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 39-parity-test.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --test parity

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1m 20s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
REVIEW HARNESS: exit code 0

parity-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 40-parity-clippy.log.

cargo clippy --manifest-path crates/trusted-server-integration-tests/Cargo.toml --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 28.03s
REVIEW HARNESS: exit code 0

lint-domains

CWD relative to REVIEW_WT: .. Exit: 0. Log: 41-lint-domains.log.

cargo run --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --bin ts -- dev lint domains --changed-vs 51730bdaf841e4d7bb96c2258e5e98169bdff9a7 --verbose

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 45s
scanned 2495 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-hard-cutover-design.md
scanned 2197 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-requirements.md
REVIEW HARNESS: exit code 0

build-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 42-build-fastly.log.

cargo build-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 36s
REVIEW HARNESS: exit code 0

build-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 43-build-axum.log.

cargo build-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 55.86s
REVIEW HARNESS: exit code 0

build-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 44-build-cloudflare.log.

cargo build-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 2m 49s
REVIEW HARNESS: exit code 0

check-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 45-check-fastly.log.

cargo check-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 21s
REVIEW HARNESS: exit code 0

check-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 46-check-axum.log.

cargo check-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 43.91s
REVIEW HARNESS: exit code 0

check-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 47-check-cloudflare.log.

cargo check-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 31.61s
REVIEW HARNESS: exit code 0

check-spin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 48-check-spin.log.

cargo check-spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 25.63s
REVIEW HARNESS: exit code 0

check-cloudflare-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 49-check-cloudflare-native.log.

cargo check -p trusted-server-adapter-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 24.84s
REVIEW HARNESS: exit code 0

check-spin-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 50-check-spin-native.log.

cargo check -p trusted-server-adapter-spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 4.41s
REVIEW HARNESS: exit code 0

fastly-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 51-fastly-release.log.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized] target(s) in 2m 49s
REVIEW HARNESS: exit code 0

spin-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 52-spin-release.log.

TRUSTED_SERVER__PUBLISHER__ORIGIN_URL=http://127.0.0.1:8080 TRUSTED_SERVER__PUBLISHER__PROXY_SECRET=integration-test-proxy-secret TRUSTED_SERVER__EC__PASSPHRASE=integration-test-ec-secret-padded-32 TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK=false cargo build --package trusted-server-adapter-spin --target wasm32-wasip1 --features spin --release

Actual result lines:

    Finished `release` profile [optimized] target(s) in 2m 40s
REVIEW HARNESS: exit code 0

fastly-deadlines

CWD relative to REVIEW_WT: .. Exit: 1. Log: 53-fastly-deadlines.log.

node crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs "$(command -v viceroy)"

Actual result lines:

HEAD: 5bd11340844d2954c0c057cd2f914fa2544443d4
CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-5bd1134-build
COMMAND: node crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs "$(command -v viceroy)"


running 5 tests
test platform::deadline::tests::network_fast_sibling_completes_while_another_body_trickles ... 
thread 'main' (1) panicked at crates/trusted-server-adapter-fastly/src/platform/deadline.rs:916:10:
should finish before deadline
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2026-11-07T21:20:38.618963Z ERROR error while executing at wasm backtrace:
    0: 0xf5f4df - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!abort
    1: 0xf537ed - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::sys::pal::wasi::abort_internal
    2: 0xf4e700 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::process::abort
    3: 0xf4ee02 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!__rustc[100742bb89c490cb]::__rust_abort
    4: 0xf4c78f - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!__rustc[100742bb89c490cb]::__rust_start_panic
    5: 0xf4ec99 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!__rustc[100742bb89c490cb]::rust_panic
    6: 0xf4de01 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::panicking::panic_with_hook
    7: 0xf4d92b - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::panicking::panic_handler::{closure#0}
    8: 0xf4d893 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::sys::backtrace::__rust_end_short_backtrace::<std[20022bcccacc018b]::panicking::panic_handler::{closure#0}, !>
    9: 0xf4eee5 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!__rustc[100742bb89c490cb]::rust_begin_unwind
   10: 0xf6c639 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!core[20f923910834e392]::panicking::panic_fmt
   11: 0xf7347f - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!core[20f923910834e392]::option::expect_failed
   12:  0x84ca0 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!<core[20f923910834e392]::option::Option<trusted_server_core[d258229c77be30f2]::platform::http::PlatformSelectResult>>::expect
   13:  0x51aab - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!trusted_server_adapter_fastly[f600ee7f5209a4c1]::platform::deadline::tests::network_fast_sibling_completes_while_another_body_trickles
   14:  0x51530 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!trusted_server_adapter_fastly[f600ee7f5209a4c1]::platform::deadline::tests::network_fast_sibling_completes_while_another_body_trickles::{closure#0}
   15:  0x310a1 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!<trusted_server_adapter_fastly[f600ee7f5209a4c1]::platform::deadline::tests::network_fast_sibling_completes_while_another_body_trickles::{closure#0} as core[20f923910834e392]::ops::function::FnOnce<()>>::call_once
   16:  0xd0f65 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!test[71c10c459ec20e27]::__rust_begin_short_backtrace::<core[20f923910834e392]::result::Result<(), alloc[1a096bf48401f5d5]::string::String>, fn() -> core[20f923910834e392]::result::Result<(), alloc[1a096bf48401f5d5]::string::String>>
   17:  0xe8d7f - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!<test[71c10c459ec20e27]::types::RunnableTest>::run
   18:  0xea13b - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!test[71c10c459ec20e27]::run_test
   19:  0xe78b5 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!test[71c10c459ec20e27]::console::run_tests_console
   20:  0xe2736 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!test[71c10c459ec20e27]::test_main_static
   21:  0xce22f - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!trusted_server_adapter_fastly[f600ee7f5209a4c1]::main
   22:  0x2dea5 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!<fn() as core[20f923910834e392]::ops::function::FnOnce<()>>::call_once
   23:  0xc525e - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
   24:  0x8cca7 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::rt::lang_start::<()>::{closure#0}
   25: 0xf531ba - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::rt::lang_start_internal
   26:  0x8a3ee - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!std[20022bcccacc018b]::rt::lang_start::<()>
   27:  0xd0f15 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!__main_void
   28:  0x184d1 - trusted_server_adapter_fastly-2d4bab662402e09e.wasm!_start
AssertionError [ERR_ASSERTION]: should run the network tests successfully

134 !== 0

    at main (file:///Users/ag/projects/iab/trusted-server/.worktrees/review-1506-5bd1134-build/crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs:147:14) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: 134,
  expected: 0,
  operator: 'strictEqual',
  diff: 'simple'
}

REVIEW HARNESS: exit code 1

cloudflare-deadline-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 54-cloudflare-deadline-build.log.

cargo build --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 08s
REVIEW HARNESS: exit code 0

cloudflare-deadline-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 55-cloudflare-deadline-clippy.log.

cargo clippy --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 29.14s
REVIEW HARNESS: exit code 0

spin-deadline-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 56-spin-deadline-build.log.

cargo build --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 43.60s
REVIEW HARNESS: exit code 0

spin-deadline-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 57-spin-deadline-clippy.log.

cargo clippy --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 37.38s
REVIEW HARNESS: exit code 0

cloudflare-deadline-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 58-cloudflare-deadline-runtime.log.

node scripts/test-worker-auction-deadlines.mjs cloudflare --runtime /private/tmp/review-1506-854fe2e/local-tools/node_modules/.bin/wrangler --wasm-bindgen /private/tmp/review-1506-854fe2e/wasm-bindgen-0.2.126/wasm-bindgen

Actual result lines:

PASS cloudflare /fast budget=80 origin=200: complete:243
PASS cloudflare /headers budget=80 origin=0: timeout:83
PASS cloudflare /body budget=80 origin=0: timeout:81
PASS cloudflare /headers budget=80 origin=200: timeout:202
REVIEW HARNESS: exit code 0

spin-deadline-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 59-spin-deadline-runtime.log.

node scripts/test-worker-auction-deadlines.mjs spin --runtime "$(command -v spin)"

Actual result lines:

PASS spin /fast budget=80 origin=200: complete:210
PASS spin /headers budget=80 origin=0: timeout:81
PASS spin /body budget=80 origin=0: timeout:82
PASS spin /headers budget=80 origin=200: timeout:202
PASS spin /large budget=2000 origin=0: oversized:55
REVIEW HARNESS: exit code 0

trace-script-skipped

CWD relative to REVIEW_WT: .. Exit: 0. Log: 60-trace-script-skipped.log.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_skipped_emitted_script_leaves_ad_state_untouched -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 3m 07s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.99s
REVIEW HARNESS: exit code 0

trace-script-freezes

CWD relative to REVIEW_WT: .. Exit: 0. Log: 61-trace-script-freezes.log.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_emitted_script_deep_freezes_owned_context_in_node -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 2.58s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.05s
REVIEW HARNESS: exit code 0

html-benchmark-smoke

CWD relative to REVIEW_WT: .. Exit: 0. Log: 62-html-benchmark-smoke.log.

cargo bench -p trusted-server-core --bench html_processor_bench -- --test

Actual result lines:

    Finished `bench` profile [optimized] target(s) in 3m 33s
Testing html_processor/process_chunk/10kb
Success
Testing html_processor/process_chunk/100kb
Success
REVIEW HARNESS: exit code 0

template-cache-esi

CWD relative to REVIEW_WT: .. Exit: 0. Log: 63-template-cache-esi.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh esi

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.03s
    Finished `dev` profile [unoptimized] target(s) in 2.17s
  22 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-inline

CWD relative to REVIEW_WT: .. Exit: 0. Log: 64-template-cache-inline.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh inline

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.09s
    Finished `dev` profile [unoptimized] target(s) in 0.93s
  9 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-purge

CWD relative to REVIEW_WT: .. Exit: 0. Log: 65-template-cache-purge.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh purge

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.43s
    Finished `dev` profile [unoptimized] target(s) in 1.30s
  34 passed, 0 failed
REVIEW HARNESS: exit code 0

cloudflare-fixture-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 66-cloudflare-fixture-clippy.log.

cargo clippy -p trusted-server-adapter-cloudflare --target wasm32-unknown-unknown --features cloudflare,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 3.73s
REVIEW HARNESS: exit code 0

spin-fixture-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 67-spin-fixture-clippy.log.

cargo clippy -p trusted-server-adapter-spin --target wasm32-wasip1 --features spin,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 2.09s
REVIEW HARNESS: exit code 0

cli-native-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 68-cli-native-clippy.log.

cargo clippy --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 13s
REVIEW HARNESS: exit code 0

canonical-port-preflight

CWD relative to REVIEW_WT: .. Exit: 0. Log: 101-canonical-port-preflight.log.

python3 /private/tmp/pr1506-r2-5bd1134/build/check-canonical-port.py

Actual result lines:

Canonical CI integration origin port 8888 is available
REVIEW HARNESS: exit code 0

matching-bindgen

CWD relative to REVIEW_WT: .. Exit: 0. Log: 102-matching-bindgen.log.

node --version; wasm-bindgen --version; wrangler --version

Actual result lines:

v24.20.0
wasm-bindgen 0.2.126
4.83.0
REVIEW HARNESS: exit code 0

generate-integration-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 103-generate-integration-config.log.

./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 52.81s
REVIEW HARNESS: exit code 0

generate-trace-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 104-generate-trace-config.log.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace.toml INTEGRATION_BIDDER_ORIGIN_URL=http://127.0.0.1:8888 ARTIFACTS_DIR=/private/tmp/pr1506-r2-5bd1134/build/integration-artifacts/trace ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.67s
REVIEW HARNESS: exit code 0

generate-trace-auth-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 105-generate-trace-auth-config.log.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace-auth.toml ARTIFACTS_DIR=/private/tmp/pr1506-r2-5bd1134/build/integration-artifacts/trace-auth ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.24s
REVIEW HARNESS: exit code 0

integration-fastly-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 106-integration-fastly-release.log.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized] target(s) in 0.43s
REVIEW HARNESS: exit code 0

integration-axum-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 107-integration-axum-build.log.

cargo build -p trusted-server-adapter-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.48s
REVIEW HARNESS: exit code 0

integration-cloudflare-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 108-integration-cloudflare-build.log.

bash crates/trusted-server-adapter-cloudflare/build.sh

Actual result lines:

    Finished `release` profile [optimized] target(s) in 1m 34s
REVIEW HARNESS: exit code 0

image-wordpress

CWD relative to REVIEW_WT: .. Exit: 0. Log: 109-image-wordpress.log.

docker build -t test-wordpress:latest crates/trusted-server-integration-tests/fixtures/frameworks/wordpress/

Actual result lines:

REVIEW HARNESS: exit code 0

image-nextjs

CWD relative to REVIEW_WT: .. Exit: 0. Log: 110-image-nextjs.log.

docker build --build-arg NODE_VERSION=24.20.0 -t test-nextjs:latest crates/trusted-server-integration-tests/fixtures/frameworks/nextjs/

Actual result lines:

REVIEW HARNESS: exit code 0

browser-setup

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 111-browser-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

playwright-chromium

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 112-playwright-chromium.log.

npx playwright install chromium

Actual result lines:

REVIEW HARNESS: exit code 0

browser-prebid-artifact

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 113-browser-prebid-artifact.log.

npm run build:prebid-external -- --modules-json '{"bidder":["rubiconBidAdapter"]}'

Actual result lines:

REVIEW HARNESS: exit code 0

initial-render-fixture-tests

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 114-initial-render-fixture-tests.log.

node --test initial-render/pages.test.cjs

Actual result lines:

ℹ tests 2
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

trace-fixture-tests

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 115-trace-fixture-tests.log.

node --test trace-fixture.test.cjs

Actual result lines:

ℹ tests 2
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

initial-render-ownership

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 116-initial-render-ownership.log.

node initial-render/run.cjs --out /private/tmp/pr1506-r2-5bd1134/build/initial-render-evidence

Actual result lines:

Controlled comparison assertions passed.
REVIEW HARNESS: exit code 0

prebuilt-trace-digest

CWD relative to REVIEW_WT: .. Exit: 0. Log: 117-prebuilt-trace-digest.log.

mkdir -p /private/tmp/pr1506-r2-5bd1134/build/prebuilt-bundle && node crates/trusted-server-js/lib/build-all.mjs --out-dir /private/tmp/pr1506-r2-5bd1134/build/prebuilt-bundle && TSJS_PREBUILT_DIR=/private/tmp/pr1506-r2-5bd1134/build/prebuilt-bundle cargo check-axum --locked

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.01s
REVIEW HARNESS: exit code 0

integration-matrix

CWD relative to REVIEW_WT: .. Exit: 0. Log: 118-integration-matrix.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin -- --include-ignored --skip test_wordpress_fastly --skip test_nextjs_fastly --skip trace_browser_workflow --skip trace_runtime_boundary --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 28.22s
test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 42.28s
test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 31.26s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
REVIEW HARNESS: exit code 0

integration-fastly-ec

CWD relative to REVIEW_WT: .. Exit: 0. Log: 119-integration-fastly-ec.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin test_ec_lifecycle_fastly -- --include-ignored --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1.30s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 13 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 48 filtered out; finished in 2.11s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 28 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

integration-trace-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 120-integration-trace-runtime.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_runtime_boundary -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 0.38s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 46 filtered out; finished in 31.53s
REVIEW HARNESS: exit code 0

integration-trace-browser

CWD relative to REVIEW_WT: .. Exit: 0. Log: 121-integration-trace-browser.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_browser_workflow -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1.04s
  1 passed (4.1s)
  1 passed (2.7s)
  1 passed (3.2s)
  1 passed (4.7s)
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 45 filtered out; finished in 28.35s
REVIEW HARNESS: exit code 0

browser-nextjs

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 122-browser-nextjs.log.

TEST_FRAMEWORK=nextjs PLAYWRIGHT_HTML_REPORT=/private/tmp/pr1506-r2-5bd1134/build/playwright-report-nextjs npx playwright test

Actual result lines:

  2 skipped
  53 passed (43.1s)
REVIEW HARNESS: exit code 0

browser-wordpress

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 123-browser-wordpress.log.

TEST_FRAMEWORK=wordpress PLAYWRIGHT_HTML_REPORT=/private/tmp/pr1506-r2-5bd1134/build/playwright-report-wordpress npx playwright test

Actual result lines:

  23 skipped
  32 passed (36.6s)
REVIEW HARNESS: exit code 0

final-source-state

CWD relative to REVIEW_WT: .. Exit: 0. Log: 124-final-source-state.log.

git rev-parse HEAD && test "$(git rev-parse HEAD)" = 5bd11340844d2954c0c057cd2f914fa2544443d4 && git diff --exit-code && git diff --cached --exit-code && git status --short

Actual result lines:

5bd11340844d2954c0c057cd2f914fa2544443d4
REVIEW HARNESS: exit code 0

fastly-deadlines-exact-rerun

CWD relative to REVIEW_WT: .. Exit: 0. Log: 150-fastly-deadlines-rerun.log.

node crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs "$(command -v viceroy)"

Actual result lines:

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 242 filtered out; finished in 0.39s
REVIEW HARNESS: exit code 0
Independent H API probes and source checks

Root independently executed the following current-head API checks (both exit 0).

These use frozen H9b31a697, real public facade/head/framing APIs, and (for framing) the unchanged TS privacy/cache helper sources. Scripted transport/fixed time isolates ownership and limit mechanics; no migrated TS HTML or hosted qualification is claimed.

CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1 CARGO_TARGET_DIR=/private/tmp/pr1506-deep/probes/publisher/target cargo run --offline --locked --manifest-path /private/tmp/pr1506-r2-5bd1134/publisher/probe/Cargo.toml --target aarch64-apple-darwin

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-5bd1134-root. Exit: 0.

CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1 CARGO_TARGET_DIR=/private/tmp/pr1506-deep/probes/lifecycle/target cargo run --offline --locked --manifest-path /private/tmp/pr1506-r2-5bd1134/lifecycle-probe/Cargo.toml --target aarch64-apple-darwin

CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-5bd1134-root. Exit: 0.

Verbatim case results (59-case publisher probe; 126/126 dependency identities match H lock):

ownership mode=send variant=Buffered collection=false placement=InsideRun captured=ResponseBody stream=true attach=ok
ownership mode=send variant=PassThrough collection=false placement=InsideRun captured=ResponseBody stream=true attach=ok
ownership mode=send variant=Range206 collection=false placement=InsideRun captured=ResponseBody stream=true attach=ok
ownership mode=begin variant=Buffered collection=false placement=InsideRun captured=ResponseBody stream=true attach=ok
ownership mode=begin variant=PassThrough collection=false placement=InsideRun captured=ResponseBody stream=true attach=ok
ownership mode=begin variant=Range206 collection=false placement=InsideRun captured=ResponseBody stream=true attach=ok
processed-input adapter=Cloudflare old_client_cap=10485760 size=10485761 publisher_cap=16777216 explicit_encoded_cap=false result=ok bytes=10485761
processed-input adapter=Cloudflare old_client_cap=10485760 size=10485761 publisher_cap=16777216 explicit_encoded_cap=true result=response_too_large
processed-input adapter=Spin old_client_cap=8388608 size=8388609 publisher_cap=16777216 explicit_encoded_cap=false result=ok bytes=8388609
processed-input adapter=Spin old_client_cap=8388608 size=8388609 publisher_cap=16777216 explicit_encoded_cap=true result=response_too_large

Verbatim framing results:

malformed-source connection=Some("keep-alive,"): error=InvalidConnectionHeader
malformed-source connection=Some(""): error=InvalidConnectionHeader
nomination connection=Some("x-example"): status=200 OK, x-example=None, connection=None
nomination connection=None: status=200 OK, x-example=Some("example-value"), connection=None

Fresh source probes: python3 /private/tmp/pr1506-r2-5bd1134/publisher/audit-sources.py (exit0: F1 120 numbered lines, F2 200, F3 89, F6 81); python3 /private/tmp/pr1506-r2-5bd1134/transport/source_probe.py (exit0: 64 TS/H excerpts refreshed, complete2495-line design, 26pins, 62dependent files,37store implementers); python3 /private/tmp/pr1506-r2-5bd1134/audit-qualification.py (exit0:511inventoryrows/261required). All ran under their reviewer ownership guards.

Probe-only setup mistakes were corrected in scratch code (publisher Response alias was initially incorrectly given a type parameter). No TS/H source, assertions or suite filters were changed. The cold-start nested-executor hypothesis and test6 timeline hypothesis were checked and withdrawn.

Keep the Axum, Cloudflare, and Spin origin input caps for every publisher
classification, processed HTML included, through an encoded-byte cap and a
cumulative decoded-byte bound, separate from the processed-output cap. State
that skipping an operator Connection entry drops its nomination semantics,
replacing the claim that the skip is wire-neutral, and test the retained
field.

@aram356 aram356 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

BLOCKED — the six previously reported defects are addressed in the planning document; maintainer decisions remain open.

Reviewed planning head a83dc4d891536f79c8b27070b498ec2bb9286b10 against exact base 51730bdaf841e4d7bb96c2258e5e98169bdff9a7, including the complete two-file diff (4,746 added lines), the complete update since 5bd11340844d2954c0c057cd2f914fa2544443d4, all review submissions and every thread/reply. Acting login and PR author: aram356 (one-account mode). This is a deliberate COMMENT verdict, not approval.

No new confirmed defect was identified. F2 now specifies the adapter input cap for every publisher classification, the H encoded-byte limit, cumulative TS decoded input and an independent processed-output limit. F4 explicitly accepts the loss of Connection nomination semantics when skipping forbidden operator fields, removes the wire-equivalence assertion, and requires the corresponding retained-header test. F1/F3/F5/F6 retain their previously accepted corrections. Thread dispositions and verification are recorded below.

The remaining blocker is the design's explicitly unanswered Q1–Q7 (lines 2291–2328). Issue #1513 requires maintainers to answer the open questions and record the answers in the design. The current PR body still requests those decisions; #1513 has no answer comments. Next actor: the user/maintainer must supply or identify the recorded decisions for the merge gate, timeouts/upload deadline, hosted operator/service/IO entitlement and measurements, HTTP/3, in-flight API usage, loopback HTTP endpoints, and strict bodiless Fastly framing. CREATOR can then record those decisions for re-review. These are user decisions, not invented implementation defects. Future hosted/frozen-candidate qualification remains #1508's separate work, not a missing runtime implementation in this documentation PR.

Coverage included all outbound sites and deletions; typed request/options/error mapping; request signing and host overrides; redirects, credentials and downgrade policy; auction batch scheduling, readiness, provider parsing, cancellation and telemetry; EC/consent/preload/pull-sync; publisher ownership, raw/processed/compressed bodies, templates and EOF; Fastly ingress/assembly/retention/hooks/egress/privacy/post-delivery work; Axum/Cloudflare/Spin buffering and state; dependency pins, WASM targets and store writes; test doubles, parity and actual runtime harnesses; fixture generators, build/deploy/CLI/documentation paths; rollout and qualification applicability. Fresh source audit refreshed 64 TS/H excerpts, 26 direct H pins, 62 dependent files and 37 store implementers. Runtime/test/build sources are unchanged from the exact base and previous reviewed head.

The immutable H target remains 9b31a69760255c279f163a3e56bc95a7eed228e3; its amended requirements control, while the TS requirements copy is explicitly the historical handoff. Fresh inventory parsing found 511 rows: 256 blocking, 5 gate, 50 conditional and 200 follow-up. The 261 required rows split into EdgeZero 237 (217 local/20 hosted) and TS 24 (15 local/4 hosted/5 reviews). Partial applicability is governed by EZ-Q1.6/.8; neither disclosed H defects nor deferred legs were counted as passing. D1–D4 remain settled.

Fresh current-head verification completed: 91 command attempts, all exited 0. REVIEWER's build-validator ran the full prescribed applicable suite in its isolated detached worktree; root independently reran the focused H/TS mechanism probes. Prescribed ignores, conditional browser skips and inapplicable checks are recorded separately in the command results below. No skipped check is represented as passing. The final source audit confirmed the exact head, empty staged/unstaged diffs and blank status; the ownership wrapper finished successfully.

The independent full suite runs the repository's existing runtime at this documentation-only head. The focused H mechanism probes verify that the corrected design is expressible; they do not execute a migrated TS implementation, frozen candidate C, hosted Fastly, or future cutover qualification. Author-supplied docs logs remain attributed to the author and did not replace this run. No relayed docs-only waiver was accepted.

Existing finding Verified disposition Original thread
F1 Previously accepted/resolved; correction retained Thread
F2 Fixed accepted; resolved this round Thread
F3 Previously accepted/resolved; correction retained Thread
F4 Fixed accepted; resolved this round Thread
F5 Previously accepted/resolved; correction retained Thread
F6 Previously accepted/resolved; correction retained Thread

All six thread resolution states and the two new acceptance replies were independently read back from GitHub. No duplicate finding threads were opened.

Remote GitHub checks: 29 entries; states SUCCESS. These are service-run results, separate from the reviewer suite. CodeQL was not executed locally.

Current-head full suite: exact commands, exits and result lines

Resolved CWD base REVIEW_WT: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-a83dc4d-build. Raw-log base: /private/tmp/pr1506-r3-a83dc4d/build. Only repeated narrative path metadata is abbreviated; command strings and actual result blocks are unchanged.

Reviewed head: a83dc4d891536f79c8b27070b498ec2bb9286b10. Exact PR base: 51730bdaf841e4d7bb96c2258e5e98169bdff9a7.

Runner: independent REVIEWER build-validator in a fresh detached worktree. Every project setup/check command ran through the serialized PRfection ownership wrapper. All checks below were executed at this head; neither prior-head results nor author logs substitute for these runs.

Selected tools/environment: Node 24.20.0, npm 11.19.0, Rust/Cargo 1.98.1, Viceroy 0.21.0, Spin 4.1.0, wasm-bindgen 0.2.126, Wrangler 4.83.0, Docker desktop-linux. CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1, CI=true, CARGO_BUILD_JOBS=6, WRANGLER_SEND_METRICS=false, NO_COLOR=1. All Rust phases use CARGO_INCREMENTAL=0, CARGO_PROFILE_DEV_DEBUG=0, CARGO_PROFILE_TEST_DEBUG=0, CARGO_PROFILE_BENCH_DEBUG=0, CARGO_PROFILE_RELEASE_DEBUG=0; optimization levels, debug assertions, test cases, targets, and CI filters are unchanged. Runtime integration uses canonical origin port 8888 and the fictional CI fixture settings. Only selected reproducibility variables are saved; inherited editor/session metadata is omitted.

Cache policy: dedicated REVIEWER-only external Cargo directories /private/tmp/pr1506-reviewer-build-cache/root-target and /private/tmp/pr1506-reviewer-build-cache/integration-target were created empty for this head. Owned symlinks at the worktree root and integration crate target paths preserve script artifact paths. No user or CREATOR target was read, copied, or shared; no prior tests were reused. The integration target symlink was ignored through private Git info/exclude, without a source change. The owner/policy records are preserved in cache-policy.json and the cache OWNER.json. These external build caches remain after role cleanup; removing a worktree removes its owned links only.

Suite discovery: the current AGENTS.md lists 15 gates; the current workflows, action configuration, and cargo aliases were inspected and saved. The only change from the independently reviewed previous head is design Markdown, so the prescribed command map remains applicable. Conditional local EOF implementation harnesses are not applicable to this docs-only PR. Linux real NSS trust tests are OS-specific and not executable on this macOS host. CodeQL is a separate remote service check. CI integration name filters and browser skip conditions are preserved verbatim and reported below.

Completed command attempts: 91; exit 0: 91; nonzero: 0.

Final enclosing ownership wrapper exit: 0. Final source audit confirms the exact reviewed SHA, empty staged/unstaged diffs, and blank git status --short. No source, assertions, or dependencies were edited; the root REVIEWER handles publication and worktree cleanup.

environment

CWD relative to REVIEW_WT: .. Exit: 0. Log: 01-environment.log.

node --version; npm --version; cargo --version; rustc --version; viceroy --version; spin --version; wasm-bindgen --version; command -v worker-build; docker info --format "{{.ServerVersion}}"

Actual result lines:

v24.20.0
11.19.0
cargo 1.98.1 (797e8a9bc 2026-08-05)
rustc 1.98.1 (48a229cea 2026-09-01)
viceroy 0.21.0
spin 4.1.0 (c0b3726 2026-08-25)
wasm-bindgen 0.2.126
REVIEW HARNESS: exit code 0

js-setup

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 02-js-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

docs-setup

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 03-docs-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

js-lint

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 04-js-lint.log.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

js-format

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 05-js-format.log.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

js-build

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 06-js-build.log.

npm run build

Actual result lines:

REVIEW HARNESS: exit code 0

js-test

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 07-js-test.log.

npx vitest run

Actual result lines:

Testing types with tsc and vue-tsc is an experimental feature.
 Test Files  75 passed (75)
      Tests  1839 passed (1839)
Type Errors  no errors
REVIEW HARNESS: exit code 0

docs-lint

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 08-docs-lint.log.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

docs-format

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 09-docs-format.log.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

markdown-format

CWD relative to REVIEW_WT: .. Exit: 0. Log: 10-markdown-format.log.

docs/node_modules/.bin/prettier --config docs/.prettierrc --check "*.md" ".claude/**/*.md" ".github/**/*.md" "crates/**/*.md" "scripts/**/*.md" "tinybird/**/*.md"

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

docs-build

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 11-docs-build.log.

npm run build

Actual result lines:

build complete in 6.88s.
REVIEW HARNESS: exit code 0

ci-node-pin-tests

CWD relative to REVIEW_WT: .. Exit: 0. Log: 12-ci-node-pin-tests.log.

node --test scripts/check-ci-node-pin.test.mjs

Actual result lines:

ℹ tests 30
ℹ pass 30
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

ci-node-pin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 13-ci-node-pin.log.

node scripts/check-ci-node-pin.mjs

Actual result lines:

ok: 28 jobs in 8 workflows pin Node before compiling Rust
REVIEW HARNESS: exit code 0

docs-proposal-shellcheck

CWD relative to REVIEW_WT: .. Exit: 0. Log: 14-docs-proposal-shellcheck.log.

shellcheck scripts/docs-proposal/*.sh

Actual result lines:

REVIEW HARNESS: exit code 0

docs-proposal-hunks

CWD relative to REVIEW_WT: .. Exit: 0. Log: 15-docs-proposal-hunks.log.

node --test scripts/docs-proposal/hunks.test.mjs

Actual result lines:

ℹ tests 20
ℹ pass 20
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

docs-proposal-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 16-docs-proposal-test.log.

scripts/docs-proposal/test.sh

Actual result lines:

All documentation proposal script tests passed.
REVIEW HARNESS: exit code 0

wasm-clock

CWD relative to REVIEW_WT: .. Exit: 0. Log: 17-wasm-clock.log.

scripts/lint-wasm-clock.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 36.69s
REVIEW HARNESS: exit code 0

claude-symlink

CWD relative to REVIEW_WT: .. Exit: 0. Log: 18-claude-symlink.log.

test "$(git ls-tree HEAD CLAUDE.md | awk '{print $1}')" = 120000 && test "$(git cat-file blob HEAD:CLAUDE.md)" = AGENTS.md && test -f AGENTS.md && echo "CLAUDE.md symlink guard passed"

Actual result lines:

CLAUDE.md symlink guard passed
REVIEW HARNESS: exit code 0

cargo-fmt

CWD relative to REVIEW_WT: .. Exit: 0. Log: 19-cargo-fmt.log.

cargo fmt --all -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

clippy-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 20-clippy-fastly.log.

cargo clippy-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 35.59s
REVIEW HARNESS: exit code 0

clippy-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 21-clippy-axum.log.

cargo clippy-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 28.93s
REVIEW HARNESS: exit code 0

clippy-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 22-clippy-cloudflare.log.

cargo clippy-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.73s
REVIEW HARNESS: exit code 0

clippy-cloudflare-wasm

CWD relative to REVIEW_WT: .. Exit: 0. Log: 23-clippy-cloudflare-wasm.log.

cargo clippy-cloudflare-wasm

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 8.61s
REVIEW HARNESS: exit code 0

clippy-spin-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 24-clippy-spin-native.log.

cargo clippy-spin-native

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.97s
REVIEW HARNESS: exit code 0

clippy-spin-wasm

CWD relative to REVIEW_WT: .. Exit: 0. Log: 25-clippy-spin-wasm.log.

cargo clippy-spin-wasm

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 42.11s
REVIEW HARNESS: exit code 0

clippy-cli

CWD relative to REVIEW_WT: .. Exit: 0. Log: 26-clippy-cli.log.

cargo clippy-cli

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1m 34s
REVIEW HARNESS: exit code 0

clippy-codegen

CWD relative to REVIEW_WT: .. Exit: 0. Log: 27-clippy-codegen.log.

cargo clippy-codegen

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 6.84s
REVIEW HARNESS: exit code 0

core-digest-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 28-core-digest-clippy.log.

cargo clippy -p trusted-server-core --test template_build_digest -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 20.89s
REVIEW HARNESS: exit code 0

test-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 29-test-fastly.log.

cargo test-fastly

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 2m 11s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 2.28s
test result: ok. 3332 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 90.73s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
test result: ok. 30 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 0.01s
REVIEW HARNESS: exit code 0

test-fastly-reuse

CWD relative to REVIEW_WT: .. Exit: 0. Log: 30-test-fastly-reuse.log.

cargo test-fastly-reuse

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 3m 27s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 5.61s
REVIEW HARNESS: exit code 0

test-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 31-test-axum.log.

cargo test-axum

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1m 55s
test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 32-test-cloudflare.log.

cargo test-cloudflare

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1m 03s
test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-spin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 33-test-spin.log.

cargo test-spin

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 10.30s
test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

core-digest-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 34-core-digest-test.log.

cargo test -p trusted-server-core --test template_build_digest

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 41.40s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
REVIEW HARNESS: exit code 0

cli-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 35-cli-test.log.

./scripts/test-cli.sh

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 3m 44s
test result: ok. 765 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.74s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 2.19s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.83s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.89s
test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.05s
test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.86s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.72s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
test result: ok. 1 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s
test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.16s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 3.19s
    Finished `test` profile [unoptimized] target(s) in 0.75s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 771 filtered out; finished in 26.42s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.01s
    Finished `test` profile [unoptimized] target(s) in 6.57s
    Finished `test` profile [unoptimized] target(s) in 0.90s
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 62.95s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.06s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.02s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.11s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.13s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 4.86s
    Finished `test` profile [unoptimized] target(s) in 0.33s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 774 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 5.46s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 0.99s
    Finished `test` profile [unoptimized] target(s) in 0.72s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 774 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 2.90s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

codegen-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 36-codegen-test.log.

cargo test --package trusted-server-openrtb-codegen --target aarch64-apple-darwin

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 4.23s
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

parity-fmt

CWD relative to REVIEW_WT: .. Exit: 0. Log: 37-parity-fmt.log.

cargo fmt --manifest-path crates/trusted-server-integration-tests/Cargo.toml -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

parity-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 38-parity-test.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --test parity

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 41.10s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
REVIEW HARNESS: exit code 0

parity-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 39-parity-clippy.log.

cargo clippy --manifest-path crates/trusted-server-integration-tests/Cargo.toml --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 46.58s
REVIEW HARNESS: exit code 0

lint-domains

CWD relative to REVIEW_WT: .. Exit: 0. Log: 40-lint-domains.log.

cargo run --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --bin ts -- dev lint domains --changed-vs 51730bdaf841e4d7bb96c2258e5e98169bdff9a7 --verbose

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 51.88s
scanned 2549 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-hard-cutover-design.md
scanned 2197 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-requirements.md
REVIEW HARNESS: exit code 0

build-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 41-build-fastly.log.

cargo build-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 24.59s
REVIEW HARNESS: exit code 0

build-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 42-build-axum.log.

cargo build-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 28.19s
REVIEW HARNESS: exit code 0

build-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 43-build-cloudflare.log.

cargo build-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 44.19s
REVIEW HARNESS: exit code 0

check-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 44-check-fastly.log.

cargo check-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 12.85s
REVIEW HARNESS: exit code 0

check-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 45-check-axum.log.

cargo check-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 20.59s
REVIEW HARNESS: exit code 0

check-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 46-check-cloudflare.log.

cargo check-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 50.55s
REVIEW HARNESS: exit code 0

check-spin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 47-check-spin.log.

cargo check-spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 28.65s
REVIEW HARNESS: exit code 0

check-cloudflare-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 48-check-cloudflare-native.log.

cargo check -p trusted-server-adapter-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 13.41s
REVIEW HARNESS: exit code 0

check-spin-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 49-check-spin-native.log.

cargo check -p trusted-server-adapter-spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.46s
REVIEW HARNESS: exit code 0

fastly-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 50-fastly-release.log.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized] target(s) in 3m 29s
REVIEW HARNESS: exit code 0

spin-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 51-spin-release.log.

TRUSTED_SERVER__PUBLISHER__ORIGIN_URL=http://127.0.0.1:8080 TRUSTED_SERVER__PUBLISHER__PROXY_SECRET=integration-test-proxy-secret TRUSTED_SERVER__EC__PASSPHRASE=integration-test-ec-secret-padded-32 TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK=false cargo build --package trusted-server-adapter-spin --target wasm32-wasip1 --features spin --release

Actual result lines:

    Finished `release` profile [optimized] target(s) in 2m 19s
REVIEW HARNESS: exit code 0

fastly-deadlines

CWD relative to REVIEW_WT: .. Exit: 0. Log: 52-fastly-deadlines.log.

node crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs "$(command -v viceroy)"

Actual result lines:

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 242 filtered out; finished in 0.37s
REVIEW HARNESS: exit code 0

cloudflare-deadline-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 53-cloudflare-deadline-build.log.

cargo build --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 50.16s
REVIEW HARNESS: exit code 0

cloudflare-deadline-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 54-cloudflare-deadline-clippy.log.

cargo clippy --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 28.20s
REVIEW HARNESS: exit code 0

spin-deadline-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 55-spin-deadline-build.log.

cargo build --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 47.37s
REVIEW HARNESS: exit code 0

spin-deadline-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 56-spin-deadline-clippy.log.

cargo clippy --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 23.63s
REVIEW HARNESS: exit code 0

cloudflare-deadline-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 57-cloudflare-deadline-runtime.log.

node scripts/test-worker-auction-deadlines.mjs cloudflare --runtime /private/tmp/review-1506-854fe2e/local-tools/node_modules/.bin/wrangler --wasm-bindgen /private/tmp/review-1506-854fe2e/wasm-bindgen-0.2.126/wasm-bindgen

Actual result lines:

PASS cloudflare /fast budget=80 origin=200: complete:204
PASS cloudflare /headers budget=80 origin=0: timeout:81
PASS cloudflare /body budget=80 origin=0: timeout:81
PASS cloudflare /headers budget=80 origin=200: timeout:200
REVIEW HARNESS: exit code 0

spin-deadline-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 58-spin-deadline-runtime.log.

node scripts/test-worker-auction-deadlines.mjs spin --runtime "$(command -v spin)"

Actual result lines:

PASS spin /fast budget=80 origin=200: complete:203
PASS spin /headers budget=80 origin=0: timeout:82
PASS spin /body budget=80 origin=0: timeout:82
PASS spin /headers budget=80 origin=200: timeout:202
PASS spin /large budget=2000 origin=0: oversized:4
REVIEW HARNESS: exit code 0

trace-script-skipped

CWD relative to REVIEW_WT: .. Exit: 0. Log: 59-trace-script-skipped.log.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_skipped_emitted_script_leaves_ad_state_untouched -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1m 45s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.56s
REVIEW HARNESS: exit code 0

trace-script-freezes

CWD relative to REVIEW_WT: .. Exit: 0. Log: 60-trace-script-freezes.log.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_emitted_script_deep_freezes_owned_context_in_node -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 0.90s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.04s
REVIEW HARNESS: exit code 0

html-benchmark-smoke

CWD relative to REVIEW_WT: .. Exit: 0. Log: 61-html-benchmark-smoke.log.

cargo bench -p trusted-server-core --bench html_processor_bench -- --test

Actual result lines:

    Finished `bench` profile [optimized] target(s) in 2m 35s
Testing html_processor/process_chunk/10kb
Success
Testing html_processor/process_chunk/100kb
Success
REVIEW HARNESS: exit code 0

template-cache-esi

CWD relative to REVIEW_WT: .. Exit: 0. Log: 62-template-cache-esi.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh esi

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.44s
    Finished `dev` profile [unoptimized] target(s) in 0.56s
  22 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-inline

CWD relative to REVIEW_WT: .. Exit: 0. Log: 63-template-cache-inline.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh inline

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 2.43s
    Finished `dev` profile [unoptimized] target(s) in 0.85s
  9 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-purge

CWD relative to REVIEW_WT: .. Exit: 0. Log: 64-template-cache-purge.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh purge

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.66s
    Finished `dev` profile [unoptimized] target(s) in 0.44s
  34 passed, 0 failed
REVIEW HARNESS: exit code 0

cloudflare-fixture-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 65-cloudflare-fixture-clippy.log.

cargo clippy -p trusted-server-adapter-cloudflare --target wasm32-unknown-unknown --features cloudflare,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 2.87s
REVIEW HARNESS: exit code 0

spin-fixture-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 66-spin-fixture-clippy.log.

cargo clippy -p trusted-server-adapter-spin --target wasm32-wasip1 --features spin,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.42s
REVIEW HARNESS: exit code 0

cli-native-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 67-cli-native-clippy.log.

cargo clippy --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 36.42s
REVIEW HARNESS: exit code 0

canonical-port-preflight

CWD relative to REVIEW_WT: .. Exit: 0. Log: 101-canonical-port-preflight.log.

python3 /private/tmp/pr1506-r3-a83dc4d/build/check-canonical-port.py

Actual result lines:

Canonical CI integration origin port 8888 is available
REVIEW HARNESS: exit code 0

matching-bindgen

CWD relative to REVIEW_WT: .. Exit: 0. Log: 102-matching-bindgen.log.

node --version; wasm-bindgen --version; wrangler --version

Actual result lines:

v24.20.0
wasm-bindgen 0.2.126
4.83.0
REVIEW HARNESS: exit code 0

generate-integration-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 103-generate-integration-config.log.

./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 36.60s
REVIEW HARNESS: exit code 0

generate-trace-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 104-generate-trace-config.log.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace.toml INTEGRATION_BIDDER_ORIGIN_URL=http://127.0.0.1:8888 ARTIFACTS_DIR=/private/tmp/pr1506-r3-a83dc4d/build/integration-artifacts/trace ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.65s
REVIEW HARNESS: exit code 0

generate-trace-auth-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 105-generate-trace-auth-config.log.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace-auth.toml ARTIFACTS_DIR=/private/tmp/pr1506-r3-a83dc4d/build/integration-artifacts/trace-auth ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.36s
REVIEW HARNESS: exit code 0

integration-fastly-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 106-integration-fastly-release.log.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized] target(s) in 0.68s
REVIEW HARNESS: exit code 0

integration-axum-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 107-integration-axum-build.log.

cargo build -p trusted-server-adapter-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.59s
REVIEW HARNESS: exit code 0

integration-cloudflare-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 108-integration-cloudflare-build.log.

bash crates/trusted-server-adapter-cloudflare/build.sh

Actual result lines:

    Finished `release` profile [optimized] target(s) in 1m 32s
REVIEW HARNESS: exit code 0

image-wordpress

CWD relative to REVIEW_WT: .. Exit: 0. Log: 109-image-wordpress.log.

docker build -t test-wordpress:latest crates/trusted-server-integration-tests/fixtures/frameworks/wordpress/

Actual result lines:

REVIEW HARNESS: exit code 0

image-nextjs

CWD relative to REVIEW_WT: .. Exit: 0. Log: 110-image-nextjs.log.

docker build --build-arg NODE_VERSION=24.20.0 -t test-nextjs:latest crates/trusted-server-integration-tests/fixtures/frameworks/nextjs/

Actual result lines:

REVIEW HARNESS: exit code 0

browser-setup

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 111-browser-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

playwright-chromium

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 112-playwright-chromium.log.

npx playwright install chromium

Actual result lines:

REVIEW HARNESS: exit code 0

browser-prebid-artifact

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 113-browser-prebid-artifact.log.

npm run build:prebid-external -- --modules-json '{"bidder":["rubiconBidAdapter"]}'

Actual result lines:

REVIEW HARNESS: exit code 0

initial-render-fixture-tests

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 114-initial-render-fixture-tests.log.

node --test initial-render/pages.test.cjs

Actual result lines:

ℹ tests 2
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

trace-fixture-tests

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 115-trace-fixture-tests.log.

node --test trace-fixture.test.cjs

Actual result lines:

ℹ tests 2
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

initial-render-ownership

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 116-initial-render-ownership.log.

node initial-render/run.cjs --out /private/tmp/pr1506-r3-a83dc4d/build/initial-render-evidence

Actual result lines:

Controlled comparison assertions passed.
REVIEW HARNESS: exit code 0

prebuilt-trace-digest

CWD relative to REVIEW_WT: .. Exit: 0. Log: 117-prebuilt-trace-digest.log.

mkdir -p /private/tmp/pr1506-r3-a83dc4d/build/prebuilt-bundle && node crates/trusted-server-js/lib/build-all.mjs --out-dir /private/tmp/pr1506-r3-a83dc4d/build/prebuilt-bundle && TSJS_PREBUILT_DIR=/private/tmp/pr1506-r3-a83dc4d/build/prebuilt-bundle cargo check-axum --locked

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 9.57s
REVIEW HARNESS: exit code 0

integration-matrix

CWD relative to REVIEW_WT: .. Exit: 0. Log: 118-integration-matrix.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin -- --include-ignored --skip test_wordpress_fastly --skip test_nextjs_fastly --skip trace_browser_workflow --skip trace_runtime_boundary --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 31.40s
test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 38.68s
test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 26.55s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
REVIEW HARNESS: exit code 0

integration-fastly-ec

CWD relative to REVIEW_WT: .. Exit: 0. Log: 119-integration-fastly-ec.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin test_ec_lifecycle_fastly -- --include-ignored --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1.02s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 13 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 48 filtered out; finished in 2.21s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 28 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

integration-trace-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 120-integration-trace-runtime.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_runtime_boundary -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 0.31s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 46 filtered out; finished in 22.75s
REVIEW HARNESS: exit code 0

integration-trace-browser

CWD relative to REVIEW_WT: .. Exit: 0. Log: 121-integration-trace-browser.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_browser_workflow -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 0.64s
  1 passed (2.9s)
  1 passed (3.8s)
  1 passed (1.5s)
  1 passed (1.4s)
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 45 filtered out; finished in 20.87s
REVIEW HARNESS: exit code 0

browser-nextjs

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 122-browser-nextjs.log.

TEST_FRAMEWORK=nextjs PLAYWRIGHT_HTML_REPORT=/private/tmp/pr1506-r3-a83dc4d/build/playwright-report-nextjs npx playwright test

Actual result lines:

  2 skipped
  53 passed (37.4s)
REVIEW HARNESS: exit code 0

browser-wordpress

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 123-browser-wordpress.log.

TEST_FRAMEWORK=wordpress PLAYWRIGHT_HTML_REPORT=/private/tmp/pr1506-r3-a83dc4d/build/playwright-report-wordpress npx playwright test

Actual result lines:

  23 skipped
  32 passed (32.9s)
REVIEW HARNESS: exit code 0

final-source-state

CWD relative to REVIEW_WT: .. Exit: 0. Log: 124-final-source-state.log.

git rev-parse HEAD && test "$(git rev-parse HEAD)" = a83dc4d891536f79c8b27070b498ec2bb9286b10 && git diff --exit-code && git diff --cached --exit-code && git status --short

Actual result lines:

a83dc4d891536f79c8b27070b498ec2bb9286b10
REVIEW HARNESS: exit code 0
Fresh H/TS mechanism probes and source evidence

Root independently reran both focused probes at this head, each through the ownership guard in the detached root review worktree. CWD: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-a83dc4d-root. Both exited 0. They use immutable H source and actual TS source excerpts/helpers; scripted transports and fixed time isolate ownership/limits/framing, rather than claiming migrated runtime or hosted behavior.

CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1 CARGO_TARGET_DIR=/private/tmp/pr1506-deep/probes/publisher/target cargo run --offline --locked --manifest-path /private/tmp/pr1506-r3-a83dc4d/publisher/probe/Cargo.toml --target aarch64-apple-darwin

Actual source/provenance/case counts:

source-identical streaming_processor.rs:88-108 sha256=7b9b41f94c26a65c8c80f80c0bbe8a18110869fbe3ded2cfa4be064b9da8a84e
source-identical streaming_processor.rs:420-1171 sha256=b0d589dabf350cc83943f56bcb8d0b7efa34fb0bf510ea3278fe4c095efe8352
source-identical publisher.rs:3020-3056 sha256=cf1ab2bbc16d83762f936535561b5897d0124c61653001ce044577f9d758cacc
dependency provenance: H matches=128/129, TS lock additions=['error-stack@0.6.0']
ownership-and-raw-result.txt: 59 cases
input-decode-output-result.txt: 18 cases

Actual input/decode/output cases (the other 59 controls cover ownership, raw collection, source errors, range/pass-through and template-hit shapes):

boundary adapter=Cloudflare coding=None input_cap=10485760 encoded=10485760 decoded=10485760 result=ok
boundary adapter=Cloudflare coding=None input_cap=10485760 encoded=10485761 decoded=10485761 result=H_encoded_rejected:response_too_large
boundary adapter=Cloudflare coding=Gzip input_cap=10485760 encoded=10259 decoded=10485760 result=ok
boundary adapter=Cloudflare coding=Gzip input_cap=10485760 encoded=10259 decoded=10485761 result=TS_decoded_rejected:Proxy
boundary adapter=Cloudflare coding=Deflate input_cap=10485760 encoded=10247 decoded=10485760 result=ok
boundary adapter=Cloudflare coding=Deflate input_cap=10485760 encoded=10247 decoded=10485761 result=TS_decoded_rejected:Proxy
boundary adapter=Cloudflare coding=Brotli input_cap=10485760 encoded=69 decoded=10485760 result=ok
boundary adapter=Cloudflare coding=Brotli input_cap=10485760 encoded=69 decoded=10485761 result=TS_decoded_rejected:Proxy
output adapter=Cloudflare input_cap=10485760 output_cap=16777216 final_extra=1 result=publisher body exceeded maximum buffered size
boundary adapter=Spin coding=None input_cap=8388608 encoded=8388608 decoded=8388608 result=ok
boundary adapter=Spin coding=None input_cap=8388608 encoded=8388609 decoded=8388609 result=H_encoded_rejected:response_too_large
boundary adapter=Spin coding=Gzip input_cap=8388608 encoded=8227 decoded=8388608 result=ok
boundary adapter=Spin coding=Gzip input_cap=8388608 encoded=8227 decoded=8388609 result=TS_decoded_rejected:Proxy
boundary adapter=Spin coding=Deflate input_cap=8388608 encoded=8215 decoded=8388608 result=ok
boundary adapter=Spin coding=Deflate input_cap=8388608 encoded=8215 decoded=8388609 result=TS_decoded_rejected:Proxy
boundary adapter=Spin coding=Brotli input_cap=8388608 encoded=46 decoded=8388608 result=ok
boundary adapter=Spin coding=Brotli input_cap=8388608 encoded=50 decoded=8388609 result=TS_decoded_rejected:Proxy
output adapter=Spin input_cap=8388608 output_cap=16777216 final_extra=1 result=publisher body exceeded maximum buffered size
CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1 CARGO_TARGET_DIR=/private/tmp/pr1506-deep/probes/publisher/target cargo run --offline --locked --manifest-path /private/tmp/pr1506-r3-a83dc4d/lifecycle-probe/Cargo.toml --target aarch64-apple-darwin

Actual framing results (126/126 dependency identities match H lock):

malformed-source connection=Some("keep-alive,"): error=InvalidConnectionHeader
malformed-source connection=Some(""): error=InvalidConnectionHeader
nomination connection=Some("x-example"): status=200 OK, x-example=None, connection=None
nomination connection=None: status=200 OK, x-example=Some("example-value"), connection=None

Fresh source/audit commands, each exit 0: python3 /private/tmp/pr1506-r3-a83dc4d/publisher/audit-sources.py (492 F2 lines, 225 accepted-regression lines); python3 /private/tmp/pr1506-r3-a83dc4d/lifecycle/source-check.py (skip, nomination concession, validate/push/test and actual H/TS cross-checks); python3 /private/tmp/pr1506-r3-a83dc4d/audit-transport-build.py (64 source excerpts, 26 H pins, 62 dependent files, 37 store implementers); python3 /private/tmp/pr1506-r3-a83dc4d/audit-qualification.py (511 rows/261 required and the complete current question ranges). All ran under reviewer ownership guards.

Scratch setup corrections are retained separately: the first codec probe compile exited 101 because its temporary manifest omitted the direct log dependency used by the copied source; that probe-only manifest was corrected. The initial framing lock resolved newer transitive packages; its result was retained, then the scratch lock was seeded from the H-aligned publisher probe, and the final --offline --locked run above matched all 126 H identities and passed. TS/H source, suite assertions, filters and deadlines were unchanged. The upstream proc-macro-error2 future-compatibility warning is preserved in raw probe logs.

…tover spec

The cut is stacked on PR 275 and follows its head; main merges without
waiting for EdgeZero's qualification record, and production deploys do not
wait for qualification. Limits stay app-owned with D7's values, hosted
qualification is manual, HTTP/3 is qualified per adapter, new outbound-layer
uses are not frozen, loopback http bidder endpoints are accepted, and the
bodiless part of EZ-18.4 is withdrawn in favor of strict suppression. The
HTTP/3 and EZ-18.4 changes are requested in PR 275 threads.

@aram356 aram356 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

BLOCKED — no new confirmed material author defect; direct requester confirmation of the recorded qualification-policy change is still pending.

Re-reviewed planning PR #1506 at 85f5ca3d962e85e07b29076daab3908f63ee4929, with diff/review base 51730bdaf841e4d7bb96c2258e5e98169bdff9a7, the complete 4,819-line two-file addition, and the complete update since a83dc4d891536f79c8b27070b498ec2bb9286b10. Acting login and PR author are both aram356. All review submissions, all comment pages and every reply in the six prior threads were read. No new inline finding or duplicate acceptance reply is needed.

The seven answers are now recorded, so the previous document omission is addressed. The new D5 deliberately permits merge and production before EdgeZero qualification and follows an exact PR275 commit at each repin. It discloses unqualified deployment and orphaned-pin risks; Q4/Q7 distinguish requested contract amendments from the unchanged current contract, retain the conditional HTTP/3 leg, and leave the nine SDK-parity failures and EZ-18.4 unqualified.

The remaining decision belongs to the user/requester: confirm that the Q1–Q7 decisions attributed to the maintainer in this revision are the intended requirements, particularly merge/production without the EZ-Q1 record. I asked directly during this pass; no direct answer has arrived. The reviewer skill treats PR assertions as evidence rather than authority to approve or waive gates.

The six earlier specification corrections remain substantive and accepted: shared publisher scope construction; raw/processed input caps with cumulative decoding and a separate output budget; reachable EC/KV overlap; explicit Connection-nomination policy; final Image Optimizer GET/HEAD options; and telemetry observation boundaries. Their existing resolved states are verified below. Trusted Server runtime/test/build/CI sources remain unchanged from the previous reviewed head and the supplied base.

Source coverage included all outbound sites and deletions; request options, errors, redirects and signing; auction readiness, batching, parsing, cancellation and telemetry; EC/consent/pull-sync; publisher raw/processed/compressed bodies, ownership, templates and EOF; canonical lifecycle, assembly/retention, ingress, framing, privacy and post-delivery work; all four adapters; dependency/build/CLI/deploy/fixture/test-double/parity/documentation paths; and rollout/qualification records. Fresh baseline checks refreshed 64 TS/H excerpts, 26 exact direct pins, 62 dependent files and 37 store implementers. All 737 baseline archive files were independently compared with a fresh immutable GitHub download and matched.

The baseline H remains 9b31a69760255c279f163a3e56bc95a7eed228e3; the revision expressly scopes its old citations there. New answer-dependent facts were checked against immutable EdgeZero 5ea8d93c940bc021c552d29ddd86dd14bdadcd3e (archive SHA256 d22bbf40377a12fedef555e05aba81b2cf305cefd02ff18b0bad0b59ffb17597). Actual source supports the timeout/head-limit setters/defaults, single-request qualification binary, Fastly scheduling/readiness and Spin cutoff fixes, and frozen export safeguards. Both cited re-reviews were read directly; their limited scope is not an overall upstream approval. Current binding changes cover 57 rows, including 53 newly ready rows; readiness is not a qualification result. Inventory size/applicability remains 511 rows and 261 required rows, split EdgeZero 237 and Trusted Server 24. The unchanged upstream freeze/export process remains necessary for an authoritative qualification record even though D5 removes TS's shipping wait.

The new bodiless rationale agrees with the HTTP content/framing rules checked in the official RFC 9110, RFC 9112, and RFC 9113. This standards check does not convert the still-unamended SDK-parity acceptance failures into passes.

Fresh REVIEWER execution at this exact head completed: 91 command attempts, all exited 0, with no local retry or interruption. The isolated build-validator ran the full applicable prescribed suite. Prescribed ignores, browser skips, CI name filters and inapplicable checks remain separately recorded below. Existing dedicated REVIEWER dependency/build artifacts were reused; every command/test invocation was fresh, and user/CREATOR target trees and prior test results were not reused. The final audit verified the exact head, empty staged/unstaged diffs and blank status; the enclosing ownership wrapper exited 0.

The current-head GitHub macOS CLI check initially failed in job128599882133, workflow attempt1, exit101. Exact failure/result lines:

cargo test (ts CLI, native) (macos-latest)	UNKNOWN STEP	2026-11-08T02:20:42.8475520Z should collect without scrolling: "timed out waiting for browser process to exit after audit"
cargo test (ts CLI, native) (macos-latest)	UNKNOWN STEP	2026-11-08T02:20:42.8687030Z test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 768 filtered out; finished in 44.42s
cargo test (ts CLI, native) (macos-latest)	UNKNOWN STEP	2026-11-08T02:20:42.8817870Z ##[error]Process completed with exit code 101.

The one failed job was rerun with its existing workflow configuration, without test, assertion, timeout or filter changes. Attempt2 job128619970718 completed successfully; actual result lines:

2026-11-08T03:55:04.7984600Z test commands::audit::generate::browser_collector::tests::collects_lazy_gpt_slot_only_when_scroll_is_enabled ... ok
2026-11-08T03:55:31.0605460Z test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 36.77s

The initial failure is retained, its cause is unconfirmed, and no pre-existing/environmental classification or user dismissal is claimed. Actions checked out merge316f1fadc6c66a45c4708f18483ec25473b13117 (85f5ca3 into main4d55a3c6d6d2564ceb480b9ea6c8c3c65b494b49); local verification used detached85f5ca3 against the supplied/REST/GraphQL baseRefOid51730bda. GraphQL baseRef.target/default main was4d55a3c6. These identities are recorded separately rather than equated. The same named fixture also passed in the fresh local CLI helper. Service-run CI results are separate from reviewer-executed tests; CodeQL was not run locally.

No future migrated TS implementation, hosted qualification, frozen candidate C, or future PR275 head was executed or approved by this pass. Author-supplied docs logs did not replace the reviewer run. The prior 77-case and framing probes remain explicitly prior-head evidence; they were not relabeled as fresh executions. This pass uses fresh source identity/regression checks and the complete current-head repository suite.

Prior finding Reviewer disposition at this head Original thread
F1 Previously fixed/accepted; retained and resolved Thread
F2 Previously fixed/accepted; retained and resolved Thread
F3 Previously fixed/accepted; retained and resolved Thread
F4 Previously fixed/accepted; retained and resolved Thread
F5 Previously fixed/accepted; retained and resolved Thread
F6 Previously fixed/accepted; retained and resolved Thread

No thread was reopened or redundantly resolved. All six resolved states were freshly read back.

Latest remote CI: 29 check entries; states SUCCESS.

Fresh current-head full suite: commands, exits, actual result lines and exclusions

Resolved CWD base REVIEW_WT: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-85f5ca3-build. Raw-log base: /private/tmp/pr1506-r4-85f5ca3/build. Only repeated narrative path metadata is abbreviated; commands and actual result blocks are unchanged.

Reviewed head: 85f5ca3d962e85e07b29076daab3908f63ee4929. Exact PR base: 51730bdaf841e4d7bb96c2258e5e98169bdff9a7.

Runner: independent REVIEWER build-validator in a fresh detached worktree. Every project setup/check command ran through the serialized PRfection ownership wrapper. All checks below were executed at this head; neither prior-head results nor author logs substitute for these runs.

Selected tools/environment: Node 24.20.0, npm 11.19.0, Rust/Cargo 1.98.1, Viceroy 0.21.0, Spin 4.1.0, wasm-bindgen 0.2.126, Wrangler 4.83.0, Docker desktop-linux. CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1, CI=true, CARGO_BUILD_JOBS=6, WRANGLER_SEND_METRICS=false, NO_COLOR=1. All Rust phases use CARGO_INCREMENTAL=0, CARGO_PROFILE_DEV_DEBUG=0, CARGO_PROFILE_TEST_DEBUG=0, CARGO_PROFILE_BENCH_DEBUG=0, CARGO_PROFILE_RELEASE_DEBUG=0; optimization levels, debug assertions, test cases, targets, and CI filters are unchanged. Runtime integration uses canonical origin port 8888 and the fictional CI fixture settings. Only selected reproducibility variables are saved; inherited editor/session metadata is omitted.

Cache policy: dedicated REVIEWER-only external Cargo directories /private/tmp/pr1506-reviewer-build-cache/root-target and /private/tmp/pr1506-reviewer-build-cache/integration-target were created by this REVIEWER in R3 and reused for this head. Owned symlinks at the worktree root and integration crate target paths preserve script artifact paths. Only dedicated REVIEWER compilation/dependency artifacts were reused. No user or CREATOR target was read, copied, or shared. Every suite command and actual test execution ran freshly at this head; prior test results were not reused. The integration target symlink was ignored through private Git info/exclude, without a source change. The owner/policy records are preserved in cache-policy.json and the cache OWNER.json. These external build caches remain after role cleanup; removing a worktree removes its owned links only.

Suite discovery: the current AGENTS.md lists 15 gates; the current workflows, action configuration, and cargo aliases were inspected and saved. The only change from the independently reviewed R3 head is design Markdown, so the prescribed command map remains applicable. Conditional local EOF implementation harnesses are not applicable to this docs-only PR. Linux real NSS trust tests are OS-specific and not executable on this macOS host. CodeQL is a separate remote service check. CI integration name filters and browser skip conditions are preserved verbatim and reported below.

Completed command attempts: 91; exit 0: 91; nonzero: 0.

Separate GitHub Actions result (not counted as an independent local command): cargo test (ts CLI, native) (macos-latest), run 42437659657/job 128599882133, exited 101. That runner checked out merge SHA 316f1fadc6c66a45c4708f18483ec25473b13117 (head 85f5ca3… merged into base tip 4d55a3c6d6d2564ceb480b9ea6c8c3c65b494b49), separate from the local exact-head checkout. collects_lazy_gpt_slot_only_when_scroll_is_enabled failed at browser_collector.rs:2202 with should collect without scrolling: "timed out waiting for browser process to exit after audit"; actual result: 5 passed; 1 failed; 0 ignored; 768 filtered out. Raw log: /private/tmp/pr1506-r4-85f5ca3/failed-ci-cli-macos.log. Cause remains unconfirmed. The local suite result below is separate and does not replace this remote failed attempt; the root REVIEWER records any remote rerun and final check state.

Actual remote attempt 1 failure lines (GitHub Actions):

should collect without scrolling: "timed out waiting for browser process to exit after audit"
test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 768 filtered out; finished in 44.42s
Process completed with exit code 101.

GitHub Actions attempt 2: the unchanged macOS CLI job 128619970718 in run 42437659657 completed with success at head 85f5ca3d962e85e07b29076daab3908f63ee4929. This is a fresh remote rerun; it does not erase attempt 1 or establish its cause. The named browser fixture and all six tests in its group passed. Source: /private/tmp/pr1506-r4-85f5ca3/ci-attempt2-full.log and ci-attempt2-progress.json.

Actual remote attempt 2 result lines:

2026-11-08T03:50:05.0444690Z HEAD is now at 316f1fa Merge 85f5ca3d962e85e07b29076daab3908f63ee4929 into 4d55a3c6d6d2564ceb480b9ea6c8c3c65b494b49
2026-11-08T03:53:11.3877550Z ##[group]Run ./scripts/test-cli.sh
2026-11-08T03:55:04.7984600Z test commands::audit::generate::browser_collector::tests::collects_lazy_gpt_slot_only_when_scroll_is_enabled ... ok
2026-11-08T03:55:31.0605460Z test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 36.77s

Final enclosing ownership wrapper exit: 0. Final source audit confirms the exact reviewed SHA, empty staged/unstaged diffs, and blank git status --short. No source, assertions, or dependencies were edited; the root REVIEWER handles publication and worktree cleanup.

environment

CWD relative to REVIEW_WT: .. Exit: 0. Log: 01-environment.log.

node --version; npm --version; cargo --version; rustc --version; viceroy --version; spin --version; wasm-bindgen --version; command -v worker-build; docker info --format "{{.ServerVersion}}"

Actual result lines:

v24.20.0
11.19.0
cargo 1.98.1 (797e8a9bc 2026-08-05)
rustc 1.98.1 (48a229cea 2026-09-01)
viceroy 0.21.0
spin 4.1.0 (c0b3726 2026-08-25)
wasm-bindgen 0.2.126
REVIEW HARNESS: exit code 0

js-setup

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 02-js-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

docs-setup

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 03-docs-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

js-lint

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 04-js-lint.log.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

js-format

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 05-js-format.log.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

js-build

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 06-js-build.log.

npm run build

Actual result lines:

REVIEW HARNESS: exit code 0

js-test

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 07-js-test.log.

npx vitest run

Actual result lines:

Testing types with tsc and vue-tsc is an experimental feature.
 Test Files  75 passed (75)
      Tests  1839 passed (1839)
Type Errors  no errors
REVIEW HARNESS: exit code 0

docs-lint

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 08-docs-lint.log.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

docs-format

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 09-docs-format.log.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

markdown-format

CWD relative to REVIEW_WT: .. Exit: 0. Log: 10-markdown-format.log.

docs/node_modules/.bin/prettier --config docs/.prettierrc --check "*.md" ".claude/**/*.md" ".github/**/*.md" "crates/**/*.md" "scripts/**/*.md" "tinybird/**/*.md"

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

docs-build

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 11-docs-build.log.

npm run build

Actual result lines:

build complete in 9.07s.
REVIEW HARNESS: exit code 0

ci-node-pin-tests

CWD relative to REVIEW_WT: .. Exit: 0. Log: 12-ci-node-pin-tests.log.

node --test scripts/check-ci-node-pin.test.mjs

Actual result lines:

ℹ tests 30
ℹ pass 30
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

ci-node-pin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 13-ci-node-pin.log.

node scripts/check-ci-node-pin.mjs

Actual result lines:

ok: 28 jobs in 8 workflows pin Node before compiling Rust
REVIEW HARNESS: exit code 0

docs-proposal-shellcheck

CWD relative to REVIEW_WT: .. Exit: 0. Log: 14-docs-proposal-shellcheck.log.

shellcheck scripts/docs-proposal/*.sh

Actual result lines:

REVIEW HARNESS: exit code 0

docs-proposal-hunks

CWD relative to REVIEW_WT: .. Exit: 0. Log: 15-docs-proposal-hunks.log.

node --test scripts/docs-proposal/hunks.test.mjs

Actual result lines:

ℹ tests 20
ℹ pass 20
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

docs-proposal-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 16-docs-proposal-test.log.

scripts/docs-proposal/test.sh

Actual result lines:

All documentation proposal script tests passed.
REVIEW HARNESS: exit code 0

wasm-clock

CWD relative to REVIEW_WT: .. Exit: 0. Log: 17-wasm-clock.log.

scripts/lint-wasm-clock.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 11.73s
REVIEW HARNESS: exit code 0

claude-symlink

CWD relative to REVIEW_WT: .. Exit: 0. Log: 18-claude-symlink.log.

test "$(git ls-tree HEAD CLAUDE.md | awk '{print $1}')" = 120000 && test "$(git cat-file blob HEAD:CLAUDE.md)" = AGENTS.md && test -f AGENTS.md && echo "CLAUDE.md symlink guard passed"

Actual result lines:

CLAUDE.md symlink guard passed
REVIEW HARNESS: exit code 0

cargo-fmt

CWD relative to REVIEW_WT: .. Exit: 0. Log: 19-cargo-fmt.log.

cargo fmt --all -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

clippy-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 20-clippy-fastly.log.

cargo clippy-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 24.51s
REVIEW HARNESS: exit code 0

clippy-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 21-clippy-axum.log.

cargo clippy-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 13.68s
REVIEW HARNESS: exit code 0

clippy-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 22-clippy-cloudflare.log.

cargo clippy-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.19s
REVIEW HARNESS: exit code 0

clippy-cloudflare-wasm

CWD relative to REVIEW_WT: .. Exit: 0. Log: 23-clippy-cloudflare-wasm.log.

cargo clippy-cloudflare-wasm

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 12.37s
REVIEW HARNESS: exit code 0

clippy-spin-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 24-clippy-spin-native.log.

cargo clippy-spin-native

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 5.53s
REVIEW HARNESS: exit code 0

clippy-spin-wasm

CWD relative to REVIEW_WT: .. Exit: 0. Log: 25-clippy-spin-wasm.log.

cargo clippy-spin-wasm

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 31.21s
REVIEW HARNESS: exit code 0

clippy-cli

CWD relative to REVIEW_WT: .. Exit: 0. Log: 26-clippy-cli.log.

cargo clippy-cli

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 17.78s
REVIEW HARNESS: exit code 0

clippy-codegen

CWD relative to REVIEW_WT: .. Exit: 0. Log: 27-clippy-codegen.log.

cargo clippy-codegen

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.63s
REVIEW HARNESS: exit code 0

core-digest-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 28-core-digest-clippy.log.

cargo clippy -p trusted-server-core --test template_build_digest -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 9.69s
REVIEW HARNESS: exit code 0

test-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 29-test-fastly.log.

cargo test-fastly

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 37.79s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 1.02s
test result: ok. 3332 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 120.56s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 30 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-fastly-reuse

CWD relative to REVIEW_WT: .. Exit: 0. Log: 30-test-fastly-reuse.log.

cargo test-fastly-reuse

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 27.09s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 2.69s
REVIEW HARNESS: exit code 0

test-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 31-test-axum.log.

cargo test-axum

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 50.77s
test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.03s
REVIEW HARNESS: exit code 0

test-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 32-test-cloudflare.log.

cargo test-cloudflare

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 27.28s
test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-spin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 33-test-spin.log.

cargo test-spin

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 7.13s
test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

core-digest-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 34-core-digest-test.log.

cargo test -p trusted-server-core --test template_build_digest

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 22.33s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
REVIEW HARNESS: exit code 0

cli-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 35-cli-test.log.

./scripts/test-cli.sh

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 37.66s
test result: ok. 765 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.60s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 1.78s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.96s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.64s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
test result: ok. 1 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.11s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 1.09s
    Finished `test` profile [unoptimized] target(s) in 0.30s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 771 filtered out; finished in 12.19s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 0.81s
    Finished `test` profile [unoptimized] target(s) in 0.30s
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 28.99s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 0.86s
    Finished `test` profile [unoptimized] target(s) in 0.28s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 774 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 4.26s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 0.29s
    Finished `test` profile [unoptimized] target(s) in 0.26s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 774 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 2.40s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

codegen-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 36-codegen-test.log.

cargo test --package trusted-server-openrtb-codegen --target aarch64-apple-darwin

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1.13s
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

parity-fmt

CWD relative to REVIEW_WT: .. Exit: 0. Log: 37-parity-fmt.log.

cargo fmt --manifest-path crates/trusted-server-integration-tests/Cargo.toml -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

parity-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 38-parity-test.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --test parity

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 11.38s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
REVIEW HARNESS: exit code 0

parity-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 39-parity-clippy.log.

cargo clippy --manifest-path crates/trusted-server-integration-tests/Cargo.toml --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 7.01s
REVIEW HARNESS: exit code 0

lint-domains

CWD relative to REVIEW_WT: .. Exit: 0. Log: 40-lint-domains.log.

cargo run --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --bin ts -- dev lint domains --changed-vs 51730bdaf841e4d7bb96c2258e5e98169bdff9a7 --verbose

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 13.33s
scanned 2622 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-hard-cutover-design.md
scanned 2197 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-requirements.md
REVIEW HARNESS: exit code 0

build-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 41-build-fastly.log.

cargo build-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.89s
REVIEW HARNESS: exit code 0

build-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 42-build-axum.log.

cargo build-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 12.96s
REVIEW HARNESS: exit code 0

build-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 43-build-cloudflare.log.

cargo build-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 37.24s
REVIEW HARNESS: exit code 0

check-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 44-check-fastly.log.

cargo check-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.28s
REVIEW HARNESS: exit code 0

check-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 45-check-axum.log.

cargo check-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 7.79s
REVIEW HARNESS: exit code 0

check-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 46-check-cloudflare.log.

cargo check-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 6.85s
REVIEW HARNESS: exit code 0

check-spin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 47-check-spin.log.

cargo check-spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 6.29s
REVIEW HARNESS: exit code 0

check-cloudflare-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 48-check-cloudflare-native.log.

cargo check -p trusted-server-adapter-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 6.67s
REVIEW HARNESS: exit code 0

check-spin-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 49-check-spin-native.log.

cargo check -p trusted-server-adapter-spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.33s
REVIEW HARNESS: exit code 0

fastly-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 50-fastly-release.log.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized] target(s) in 1m 14s
REVIEW HARNESS: exit code 0

spin-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 51-spin-release.log.

TRUSTED_SERVER__PUBLISHER__ORIGIN_URL=http://127.0.0.1:8080 TRUSTED_SERVER__PUBLISHER__PROXY_SECRET=integration-test-proxy-secret TRUSTED_SERVER__EC__PASSPHRASE=integration-test-ec-secret-padded-32 TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK=false cargo build --package trusted-server-adapter-spin --target wasm32-wasip1 --features spin --release

Actual result lines:

    Finished `release` profile [optimized] target(s) in 1m 46s
REVIEW HARNESS: exit code 0

fastly-deadlines

CWD relative to REVIEW_WT: .. Exit: 0. Log: 52-fastly-deadlines.log.

node crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs "$(command -v viceroy)"

Actual result lines:

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 242 filtered out; finished in 0.49s
REVIEW HARNESS: exit code 0

cloudflare-deadline-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 53-cloudflare-deadline-build.log.

cargo build --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 43.88s
REVIEW HARNESS: exit code 0

cloudflare-deadline-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 54-cloudflare-deadline-clippy.log.

cargo clippy --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 32.85s
REVIEW HARNESS: exit code 0

spin-deadline-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 55-spin-deadline-build.log.

cargo build --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 47.62s
REVIEW HARNESS: exit code 0

spin-deadline-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 56-spin-deadline-clippy.log.

cargo clippy --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 18.12s
REVIEW HARNESS: exit code 0

cloudflare-deadline-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 57-cloudflare-deadline-runtime.log.

node scripts/test-worker-auction-deadlines.mjs cloudflare --runtime /private/tmp/review-1506-854fe2e/local-tools/node_modules/.bin/wrangler --wasm-bindgen /private/tmp/review-1506-854fe2e/wasm-bindgen-0.2.126/wasm-bindgen

Actual result lines:

PASS cloudflare /fast budget=80 origin=200: complete:205
PASS cloudflare /headers budget=80 origin=0: timeout:81
PASS cloudflare /body budget=80 origin=0: timeout:81
PASS cloudflare /headers budget=80 origin=200: timeout:201
REVIEW HARNESS: exit code 0

spin-deadline-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 58-spin-deadline-runtime.log.

node scripts/test-worker-auction-deadlines.mjs spin --runtime "$(command -v spin)"

Actual result lines:

PASS spin /fast budget=80 origin=200: complete:211
PASS spin /headers budget=80 origin=0: timeout:81
PASS spin /body budget=80 origin=0: timeout:83
PASS spin /headers budget=80 origin=200: timeout:202
PASS spin /large budget=2000 origin=0: oversized:10
REVIEW HARNESS: exit code 0

trace-script-skipped

CWD relative to REVIEW_WT: .. Exit: 0. Log: 59-trace-script-skipped.log.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_skipped_emitted_script_leaves_ad_state_untouched -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1m 06s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.41s
REVIEW HARNESS: exit code 0

trace-script-freezes

CWD relative to REVIEW_WT: .. Exit: 0. Log: 60-trace-script-freezes.log.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_emitted_script_deep_freezes_owned_context_in_node -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 2.81s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.08s
REVIEW HARNESS: exit code 0

html-benchmark-smoke

CWD relative to REVIEW_WT: .. Exit: 0. Log: 61-html-benchmark-smoke.log.

cargo bench -p trusted-server-core --bench html_processor_bench -- --test

Actual result lines:

    Finished `bench` profile [optimized] target(s) in 1m 37s
Testing html_processor/process_chunk/10kb
Success
Testing html_processor/process_chunk/100kb
Success
REVIEW HARNESS: exit code 0

template-cache-esi

CWD relative to REVIEW_WT: .. Exit: 0. Log: 62-template-cache-esi.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh esi

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.66s
    Finished `dev` profile [unoptimized] target(s) in 0.86s
  22 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-inline

CWD relative to REVIEW_WT: .. Exit: 0. Log: 63-template-cache-inline.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh inline

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.55s
    Finished `dev` profile [unoptimized] target(s) in 0.59s
  9 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-purge

CWD relative to REVIEW_WT: .. Exit: 0. Log: 64-template-cache-purge.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh purge

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.18s
    Finished `dev` profile [unoptimized] target(s) in 0.96s
  34 passed, 0 failed
REVIEW HARNESS: exit code 0

cloudflare-fixture-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 65-cloudflare-fixture-clippy.log.

cargo clippy -p trusted-server-adapter-cloudflare --target wasm32-unknown-unknown --features cloudflare,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 3.64s
REVIEW HARNESS: exit code 0

spin-fixture-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 66-spin-fixture-clippy.log.

cargo clippy -p trusted-server-adapter-spin --target wasm32-wasip1 --features spin,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.39s
REVIEW HARNESS: exit code 0

cli-native-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 67-cli-native-clippy.log.

cargo clippy --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 27.16s
REVIEW HARNESS: exit code 0

canonical-port-preflight

CWD relative to REVIEW_WT: .. Exit: 0. Log: 101-canonical-port-preflight.log.

python3 /private/tmp/pr1506-r4-85f5ca3/build/check-canonical-port.py

Actual result lines:

Canonical CI integration origin port 8888 is available
REVIEW HARNESS: exit code 0

matching-bindgen

CWD relative to REVIEW_WT: .. Exit: 0. Log: 102-matching-bindgen.log.

node --version; wasm-bindgen --version; wrangler --version

Actual result lines:

v24.20.0
wasm-bindgen 0.2.126
4.83.0
REVIEW HARNESS: exit code 0

generate-integration-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 103-generate-integration-config.log.

./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 30.36s
REVIEW HARNESS: exit code 0

generate-trace-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 104-generate-trace-config.log.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace.toml INTEGRATION_BIDDER_ORIGIN_URL=http://127.0.0.1:8888 ARTIFACTS_DIR=/private/tmp/pr1506-r4-85f5ca3/build/integration-artifacts/trace ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 3.49s
REVIEW HARNESS: exit code 0

generate-trace-auth-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 105-generate-trace-auth-config.log.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace-auth.toml ARTIFACTS_DIR=/private/tmp/pr1506-r4-85f5ca3/build/integration-artifacts/trace-auth ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.46s
REVIEW HARNESS: exit code 0

integration-fastly-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 106-integration-fastly-release.log.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized] target(s) in 2.50s
REVIEW HARNESS: exit code 0

integration-axum-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 107-integration-axum-build.log.

cargo build -p trusted-server-adapter-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 2.84s
REVIEW HARNESS: exit code 0

integration-cloudflare-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 108-integration-cloudflare-build.log.

bash crates/trusted-server-adapter-cloudflare/build.sh

Actual result lines:

    Finished `release` profile [optimized] target(s) in 1m 04s
REVIEW HARNESS: exit code 0

image-wordpress

CWD relative to REVIEW_WT: .. Exit: 0. Log: 109-image-wordpress.log.

docker build -t test-wordpress:latest crates/trusted-server-integration-tests/fixtures/frameworks/wordpress/

Actual result lines:

REVIEW HARNESS: exit code 0

image-nextjs

CWD relative to REVIEW_WT: .. Exit: 0. Log: 110-image-nextjs.log.

docker build --build-arg NODE_VERSION=24.20.0 -t test-nextjs:latest crates/trusted-server-integration-tests/fixtures/frameworks/nextjs/

Actual result lines:

REVIEW HARNESS: exit code 0

browser-setup

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 111-browser-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

playwright-chromium

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 112-playwright-chromium.log.

npx playwright install chromium

Actual result lines:

REVIEW HARNESS: exit code 0

browser-prebid-artifact

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 113-browser-prebid-artifact.log.

npm run build:prebid-external -- --modules-json '{"bidder":["rubiconBidAdapter"]}'

Actual result lines:

REVIEW HARNESS: exit code 0

initial-render-fixture-tests

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 114-initial-render-fixture-tests.log.

node --test initial-render/pages.test.cjs

Actual result lines:

ℹ tests 2
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

trace-fixture-tests

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 115-trace-fixture-tests.log.

node --test trace-fixture.test.cjs

Actual result lines:

ℹ tests 2
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

initial-render-ownership

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 116-initial-render-ownership.log.

node initial-render/run.cjs --out /private/tmp/pr1506-r4-85f5ca3/build/initial-render-evidence

Actual result lines:

Controlled comparison assertions passed.
REVIEW HARNESS: exit code 0

prebuilt-trace-digest

CWD relative to REVIEW_WT: .. Exit: 0. Log: 117-prebuilt-trace-digest.log.

mkdir -p /private/tmp/pr1506-r4-85f5ca3/build/prebuilt-bundle && node crates/trusted-server-js/lib/build-all.mjs --out-dir /private/tmp/pr1506-r4-85f5ca3/build/prebuilt-bundle && TSJS_PREBUILT_DIR=/private/tmp/pr1506-r4-85f5ca3/build/prebuilt-bundle cargo check-axum --locked

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 13.49s
REVIEW HARNESS: exit code 0

integration-matrix

CWD relative to REVIEW_WT: .. Exit: 0. Log: 118-integration-matrix.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin -- --include-ignored --skip test_wordpress_fastly --skip test_nextjs_fastly --skip trace_browser_workflow --skip trace_runtime_boundary --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 20.67s
test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.50s
test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 33.96s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
REVIEW HARNESS: exit code 0

integration-fastly-ec

CWD relative to REVIEW_WT: .. Exit: 0. Log: 119-integration-fastly-ec.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin test_ec_lifecycle_fastly -- --include-ignored --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 2.12s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 13 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 48 filtered out; finished in 2.33s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 28 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

integration-trace-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 120-integration-trace-runtime.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_runtime_boundary -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 0.30s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 46 filtered out; finished in 35.11s
REVIEW HARNESS: exit code 0

integration-trace-browser

CWD relative to REVIEW_WT: .. Exit: 0. Log: 121-integration-trace-browser.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_browser_workflow -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1.30s
  1 passed (6.5s)
  1 passed (4.6s)
  1 passed (2.4s)
  1 passed (2.5s)
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 45 filtered out; finished in 31.45s
REVIEW HARNESS: exit code 0

browser-nextjs

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 122-browser-nextjs.log.

TEST_FRAMEWORK=nextjs PLAYWRIGHT_HTML_REPORT=/private/tmp/pr1506-r4-85f5ca3/build/playwright-report-nextjs npx playwright test

Actual result lines:

  2 skipped
  53 passed (1.0m)
REVIEW HARNESS: exit code 0

browser-wordpress

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 123-browser-wordpress.log.

TEST_FRAMEWORK=wordpress PLAYWRIGHT_HTML_REPORT=/private/tmp/pr1506-r4-85f5ca3/build/playwright-report-wordpress npx playwright test

Actual result lines:

  23 skipped
  32 passed (40.3s)
REVIEW HARNESS: exit code 0

final-source-state

CWD relative to REVIEW_WT: .. Exit: 0. Log: 124-final-source-state.log.

git rev-parse HEAD && test "$(git rev-parse HEAD)" = 85f5ca3d962e85e07b29076daab3908f63ee4929 && git diff --exit-code && git diff --cached --exit-code && git status --short

Actual result lines:

85f5ca3d962e85e07b29076daab3908f63ee4929
REVIEW HARNESS: exit code 0
Fresh source checks and evidence boundaries

Fresh source checks were executed in the owned detached reviewer worktrees at TS 85f5ca3d962e85e07b29076daab3908f63ee4929. Every worktree command used its serialized PRfection ownership wrapper. No migrated TS implementation or current EdgeZero runtime test was executed by these source audits.

  • python3 /private/tmp/pr1506-r4-85f5ca3/audit-transport-build.py — exit0. Actual result lines:
PASS: F1/F3/F5/F6 substantive corrections retained
PASS: H26 exact pins, Spin SDK fork and TS explicit WASI shell commands
PASS:64 exact TS/H source excerpts refreshed without changes; current2622-line design read and recorded
PASS:62 dependent files and37 async-store implementers
PASS:runtime/test/build sources unchanged from exact base and previous review
  • python3 /private/tmp/pr1506-r4-85f5ca3/audit-current-qualification.py — exit0; baseline and current inventories independently parsed:511 total /261 required, EdgeZero237 / TS24; both26 exact direct pins and the Spin SDK fork unchanged. Full source metadata is retained locally; no readiness status is treated as a passing acceptance result.
  • python3 /private/tmp/pr1506-r4-85f5ca3/audit-current-api.py — exit0. Actual result:
Current immutable EdgeZero API/build/export source excerpts: 13; app setters, single-request run_custom qualification binary and fail-closed frozen export confirmed.
  • Publisher's fresh source recorder (exact command in publisher/source-command-result.txt) — exit0;32 source entries /4456 numbered lines, whole-section identity checks and32 stable final hashes. Actual current Fastly eager/readiness and Spin cutoff source was read. The possible stale-check finding was withdrawn: the prescribed harness uses next() and late-drop, which still holds; the check-Pending counterfactual is explicitly H-scoped. No77-case probe was rerun or relabeled current-head.
  • Lifecycle's full current qualification contract/approval/exporter, Connection and optimizer reads (commands in lifecycle/audit.md) — exit0 after two corrected investigator path lookups. Existing F4/F5 remain addressed; the no-freeze-protocol hypothesis was withdrawn because the revision makes no authoritative qualification-pass claim and the exporter still requires frozen/clean/exact-commit/reviewed provenance. The current bounded-empty-Connection handling does not invalidate the chosen operator ban or nominated-field policy.
  • Both cited upstream re-reviews were fetched directly:5810546608 at598f0a2a,5815197468 at6f0cc74c. These are upstream review evidence with a limited stated scope, not reviewer-executed tests or a global upstream approval.
  • Fresh immutable baseline download matched all737 previously inspected baseline files. Current5ea archive SHA256:d22bbf40377a12fedef555e05aba81b2cf305cefd02ff18b0bad0b59ffb17597. No TS/H source was edited.

The source checks support expressibility and consistency of this planning correction. Author-reported hosted runs, qualification, future moving PR275 heads and any frozen-candidate pass remain outside their evidence.

The two newly cited upstream amendment requests were fetched directly with gh api repos/IABTechLab/edgezero/pulls/comments/4504554519 and gh api repos/IABTechLab/edgezero/pulls/comments/4504573926, both exit0. They request per-adapter HTTP3 applicability and strict bodiless framing; the TS design correctly identifies them as requests while the current upstream contract remains unamended. Their requester labels are not substituted for direct user confirmation in this reviewer session.

@aram356 aram356 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

APPROVE — GitHub blocked formal approval: "Review Can not approve your own pull request" (HTTP 422).

The acting account and PR author are both aram356. This is an APPROVE-verdict COMMENT, not a formal approval, and it does not make the PR merge-ready. Next actor: CREATOR presents its merge question to the user for PR #1506 at 85f5ca3d962e85e07b29076daab3908f63ee4929. Only the user may authorize a one-time merge exception for that PR/head, which CREATOR records before merging. The policy confirmation does not itself authorize a merge.

The planning phase is acceptable under the requester’s directly confirmed Q1–Q7 decisions.

Re-reviewed planning PR #1506 at 85f5ca3d962e85e07b29076daab3908f63ee4929, with diff/review base 51730bdaf841e4d7bb96c2258e5e98169bdff9a7, the complete 4,819-line two-file addition, and the complete update since a83dc4d891536f79c8b27070b498ec2bb9286b10. Acting login and PR author are both aram356. All review submissions, all comment pages and every reply in the six prior threads were read. No new inline finding or duplicate acceptance reply is needed.

The seven answers are now recorded, so the previous document omission is addressed. The new D5 deliberately permits merge and production before EdgeZero qualification and follows an exact PR275 commit at each repin. It discloses unqualified deployment and orphaned-pin risks; Q4/Q7 distinguish requested contract amendments from the unchanged current contract, retain the conditional HTTP/3 leg, and leave the nine SDK-parity failures and EZ-18.4 unqualified.

The requester has now directly confirmed all seven recorded decisions in this conversation: Yes, those are my decisions. This includes merge/production before EdgeZero qualification, retained timeouts, manual hosted qualification, HTTP/3 per adapter, no old-API freeze, loopback HTTP, and strict bodiless framing. That clears the sole decision blocker in review5816590624.

This follow-up changes the verdict at the same immutable TS head. The complete diff, all discussion pages, six resolved findings, account identities and current CI were rechecked. The 91-command REVIEWER suite below was actually executed during the preceding pass at this exact head; it was not rerun for this confirmation-only follow-up. The original macOS CI failure and unchanged passing retry remain recorded, with cause unconfirmed. Approval covers this TS planning phase, not future implementation, hosted qualification, upstream review readiness or future PR275 commits.

The six earlier specification corrections remain substantive and accepted: shared publisher scope construction; raw/processed input caps with cumulative decoding and a separate output budget; reachable EC/KV overlap; explicit Connection-nomination policy; final Image Optimizer GET/HEAD options; and telemetry observation boundaries. Their existing resolved states are verified below. Trusted Server runtime/test/build/CI sources remain unchanged from the previous reviewed head and the supplied base.

Source coverage included all outbound sites and deletions; request options, errors, redirects and signing; auction readiness, batching, parsing, cancellation and telemetry; EC/consent/pull-sync; publisher raw/processed/compressed bodies, ownership, templates and EOF; canonical lifecycle, assembly/retention, ingress, framing, privacy and post-delivery work; all four adapters; dependency/build/CLI/deploy/fixture/test-double/parity/documentation paths; and rollout/qualification records. Fresh baseline checks refreshed 64 TS/H excerpts, 26 exact direct pins, 62 dependent files and 37 store implementers. All 737 baseline archive files were independently compared with a fresh immutable GitHub download and matched.

The baseline H remains 9b31a69760255c279f163a3e56bc95a7eed228e3; the revision expressly scopes its old citations there. New answer-dependent facts were checked against immutable EdgeZero 5ea8d93c940bc021c552d29ddd86dd14bdadcd3e (archive SHA256 d22bbf40377a12fedef555e05aba81b2cf305cefd02ff18b0bad0b59ffb17597). Actual source supports the timeout/head-limit setters/defaults, single-request qualification binary, Fastly scheduling/readiness and Spin cutoff fixes, and frozen export safeguards. Both cited re-reviews were read directly; their limited scope is not an overall upstream approval. Current binding changes cover 57 rows, including 53 newly ready rows; readiness is not a qualification result. Inventory size/applicability remains 511 rows and 261 required rows, split EdgeZero 237 and Trusted Server 24. The unchanged upstream freeze/export process remains necessary for an authoritative qualification record even though D5 removes TS's shipping wait.

The new bodiless rationale agrees with the HTTP content/framing rules checked in the official RFC 9110, RFC 9112, and RFC 9113. This standards check does not convert the still-unamended SDK-parity acceptance failures into passes.

Fresh REVIEWER execution at this exact head completed: 91 command attempts, all exited 0, with no local retry or interruption. The isolated build-validator ran the full applicable prescribed suite. Prescribed ignores, browser skips, CI name filters and inapplicable checks remain separately recorded below. Existing dedicated REVIEWER dependency/build artifacts were reused; every command/test invocation was fresh, and user/CREATOR target trees and prior test results were not reused. The final audit verified the exact head, empty staged/unstaged diffs and blank status; the enclosing ownership wrapper exited 0.

The current-head GitHub macOS CLI check initially failed in job128599882133, workflow attempt1, exit101. Exact failure/result lines:

cargo test (ts CLI, native) (macos-latest)	UNKNOWN STEP	2026-11-08T02:20:42.8475520Z should collect without scrolling: "timed out waiting for browser process to exit after audit"
cargo test (ts CLI, native) (macos-latest)	UNKNOWN STEP	2026-11-08T02:20:42.8687030Z test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 768 filtered out; finished in 44.42s
cargo test (ts CLI, native) (macos-latest)	UNKNOWN STEP	2026-11-08T02:20:42.8817870Z ##[error]Process completed with exit code 101.

The one failed job was rerun with its existing workflow configuration, without test, assertion, timeout or filter changes. Attempt2 job128619970718 completed successfully; actual result lines:

2026-11-08T03:55:04.7984600Z test commands::audit::generate::browser_collector::tests::collects_lazy_gpt_slot_only_when_scroll_is_enabled ... ok
2026-11-08T03:55:31.0605460Z test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 36.77s

The initial failure is retained, its cause is unconfirmed, and no pre-existing/environmental classification or user dismissal is claimed. Actions checked out merge316f1fadc6c66a45c4708f18483ec25473b13117 (85f5ca3 into main4d55a3c6d6d2564ceb480b9ea6c8c3c65b494b49); local verification used detached85f5ca3 against the supplied/REST/GraphQL baseRefOid51730bda. GraphQL baseRef.target/default main was4d55a3c6. These identities are recorded separately rather than equated. The same named fixture also passed in the fresh local CLI helper. Service-run CI results are separate from reviewer-executed tests; CodeQL was not run locally.

No future migrated TS implementation, hosted qualification, frozen candidate C, or future PR275 head was executed or approved by this pass. Author-supplied docs logs did not replace the reviewer run. The prior 77-case and framing probes remain explicitly prior-head evidence; they were not relabeled as fresh executions. This pass uses fresh source identity/regression checks and the complete current-head repository suite.

Prior finding Reviewer disposition at this head Original thread
F1 Previously fixed/accepted; retained and resolved Thread
F2 Previously fixed/accepted; retained and resolved Thread
F3 Previously fixed/accepted; retained and resolved Thread
F4 Previously fixed/accepted; retained and resolved Thread
F5 Previously fixed/accepted; retained and resolved Thread
F6 Previously fixed/accepted; retained and resolved Thread

No thread was reopened or redundantly resolved. All six resolved states were freshly read back.

Latest remote CI: 29 check entries; states SUCCESS.

Fresh current-head full suite: commands, exits, actual result lines and exclusions

Resolved CWD base REVIEW_WT: /Users/ag/projects/iab/trusted-server/.worktrees/review-1506-85f5ca3-build. Raw-log base: /private/tmp/pr1506-r4-85f5ca3/build. Only repeated narrative path metadata is abbreviated; commands and actual result blocks are unchanged.

Reviewed head: 85f5ca3d962e85e07b29076daab3908f63ee4929. Exact PR base: 51730bdaf841e4d7bb96c2258e5e98169bdff9a7.

Runner: independent REVIEWER build-validator in a fresh detached worktree. Every project setup/check command ran through the serialized PRfection ownership wrapper. All checks below were executed at this head; neither prior-head results nor author logs substitute for these runs.

Selected tools/environment: Node 24.20.0, npm 11.19.0, Rust/Cargo 1.98.1, Viceroy 0.21.0, Spin 4.1.0, wasm-bindgen 0.2.126, Wrangler 4.83.0, Docker desktop-linux. CARGO_HOME=/Users/ag/.asdf/installs/rust/1.98.1, CI=true, CARGO_BUILD_JOBS=6, WRANGLER_SEND_METRICS=false, NO_COLOR=1. All Rust phases use CARGO_INCREMENTAL=0, CARGO_PROFILE_DEV_DEBUG=0, CARGO_PROFILE_TEST_DEBUG=0, CARGO_PROFILE_BENCH_DEBUG=0, CARGO_PROFILE_RELEASE_DEBUG=0; optimization levels, debug assertions, test cases, targets, and CI filters are unchanged. Runtime integration uses canonical origin port 8888 and the fictional CI fixture settings. Only selected reproducibility variables are saved; inherited editor/session metadata is omitted.

Cache policy: dedicated REVIEWER-only external Cargo directories /private/tmp/pr1506-reviewer-build-cache/root-target and /private/tmp/pr1506-reviewer-build-cache/integration-target were created by this REVIEWER in R3 and reused for this head. Owned symlinks at the worktree root and integration crate target paths preserve script artifact paths. Only dedicated REVIEWER compilation/dependency artifacts were reused. No user or CREATOR target was read, copied, or shared. Every suite command and actual test execution ran freshly at this head; prior test results were not reused. The integration target symlink was ignored through private Git info/exclude, without a source change. The owner/policy records are preserved in cache-policy.json and the cache OWNER.json. These external build caches remain after role cleanup; removing a worktree removes its owned links only.

Suite discovery: the current AGENTS.md lists 15 gates; the current workflows, action configuration, and cargo aliases were inspected and saved. The only change from the independently reviewed R3 head is design Markdown, so the prescribed command map remains applicable. Conditional local EOF implementation harnesses are not applicable to this docs-only PR. Linux real NSS trust tests are OS-specific and not executable on this macOS host. CodeQL is a separate remote service check. CI integration name filters and browser skip conditions are preserved verbatim and reported below.

Completed command attempts: 91; exit 0: 91; nonzero: 0.

Separate GitHub Actions result (not counted as an independent local command): cargo test (ts CLI, native) (macos-latest), run 42437659657/job 128599882133, exited 101. That runner checked out merge SHA 316f1fadc6c66a45c4708f18483ec25473b13117 (head 85f5ca3… merged into base tip 4d55a3c6d6d2564ceb480b9ea6c8c3c65b494b49), separate from the local exact-head checkout. collects_lazy_gpt_slot_only_when_scroll_is_enabled failed at browser_collector.rs:2202 with should collect without scrolling: "timed out waiting for browser process to exit after audit"; actual result: 5 passed; 1 failed; 0 ignored; 768 filtered out. Raw log: /private/tmp/pr1506-r4-85f5ca3/failed-ci-cli-macos.log. Cause remains unconfirmed. The local suite result below is separate and does not replace this remote failed attempt; the root REVIEWER records any remote rerun and final check state.

Actual remote attempt 1 failure lines (GitHub Actions):

should collect without scrolling: "timed out waiting for browser process to exit after audit"
test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 768 filtered out; finished in 44.42s
Process completed with exit code 101.

GitHub Actions attempt 2: the unchanged macOS CLI job 128619970718 in run 42437659657 completed with success at head 85f5ca3d962e85e07b29076daab3908f63ee4929. This is a fresh remote rerun; it does not erase attempt 1 or establish its cause. The named browser fixture and all six tests in its group passed. Source: /private/tmp/pr1506-r4-85f5ca3/ci-attempt2-full.log and ci-attempt2-progress.json.

Actual remote attempt 2 result lines:

2026-11-08T03:50:05.0444690Z HEAD is now at 316f1fa Merge 85f5ca3d962e85e07b29076daab3908f63ee4929 into 4d55a3c6d6d2564ceb480b9ea6c8c3c65b494b49
2026-11-08T03:53:11.3877550Z ##[group]Run ./scripts/test-cli.sh
2026-11-08T03:55:04.7984600Z test commands::audit::generate::browser_collector::tests::collects_lazy_gpt_slot_only_when_scroll_is_enabled ... ok
2026-11-08T03:55:31.0605460Z test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 36.77s

Final enclosing ownership wrapper exit: 0. Final source audit confirms the exact reviewed SHA, empty staged/unstaged diffs, and blank git status --short. No source, assertions, or dependencies were edited; the root REVIEWER handles publication and worktree cleanup.

environment

CWD relative to REVIEW_WT: .. Exit: 0. Log: 01-environment.log.

node --version; npm --version; cargo --version; rustc --version; viceroy --version; spin --version; wasm-bindgen --version; command -v worker-build; docker info --format "{{.ServerVersion}}"

Actual result lines:

v24.20.0
11.19.0
cargo 1.98.1 (797e8a9bc 2026-08-05)
rustc 1.98.1 (48a229cea 2026-09-01)
viceroy 0.21.0
spin 4.1.0 (c0b3726 2026-08-25)
wasm-bindgen 0.2.126
REVIEW HARNESS: exit code 0

js-setup

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 02-js-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

docs-setup

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 03-docs-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

js-lint

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 04-js-lint.log.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

js-format

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 05-js-format.log.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

js-build

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 06-js-build.log.

npm run build

Actual result lines:

REVIEW HARNESS: exit code 0

js-test

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 07-js-test.log.

npx vitest run

Actual result lines:

Testing types with tsc and vue-tsc is an experimental feature.
 Test Files  75 passed (75)
      Tests  1839 passed (1839)
Type Errors  no errors
REVIEW HARNESS: exit code 0

docs-lint

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 08-docs-lint.log.

npm run lint

Actual result lines:

REVIEW HARNESS: exit code 0

docs-format

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 09-docs-format.log.

npm run format

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

markdown-format

CWD relative to REVIEW_WT: .. Exit: 0. Log: 10-markdown-format.log.

docs/node_modules/.bin/prettier --config docs/.prettierrc --check "*.md" ".claude/**/*.md" ".github/**/*.md" "crates/**/*.md" "scripts/**/*.md" "tinybird/**/*.md"

Actual result lines:

All matched files use Prettier code style!
REVIEW HARNESS: exit code 0

docs-build

CWD relative to REVIEW_WT: docs. Exit: 0. Log: 11-docs-build.log.

npm run build

Actual result lines:

build complete in 9.07s.
REVIEW HARNESS: exit code 0

ci-node-pin-tests

CWD relative to REVIEW_WT: .. Exit: 0. Log: 12-ci-node-pin-tests.log.

node --test scripts/check-ci-node-pin.test.mjs

Actual result lines:

ℹ tests 30
ℹ pass 30
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

ci-node-pin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 13-ci-node-pin.log.

node scripts/check-ci-node-pin.mjs

Actual result lines:

ok: 28 jobs in 8 workflows pin Node before compiling Rust
REVIEW HARNESS: exit code 0

docs-proposal-shellcheck

CWD relative to REVIEW_WT: .. Exit: 0. Log: 14-docs-proposal-shellcheck.log.

shellcheck scripts/docs-proposal/*.sh

Actual result lines:

REVIEW HARNESS: exit code 0

docs-proposal-hunks

CWD relative to REVIEW_WT: .. Exit: 0. Log: 15-docs-proposal-hunks.log.

node --test scripts/docs-proposal/hunks.test.mjs

Actual result lines:

ℹ tests 20
ℹ pass 20
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

docs-proposal-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 16-docs-proposal-test.log.

scripts/docs-proposal/test.sh

Actual result lines:

All documentation proposal script tests passed.
REVIEW HARNESS: exit code 0

wasm-clock

CWD relative to REVIEW_WT: .. Exit: 0. Log: 17-wasm-clock.log.

scripts/lint-wasm-clock.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 11.73s
REVIEW HARNESS: exit code 0

claude-symlink

CWD relative to REVIEW_WT: .. Exit: 0. Log: 18-claude-symlink.log.

test "$(git ls-tree HEAD CLAUDE.md | awk '{print $1}')" = 120000 && test "$(git cat-file blob HEAD:CLAUDE.md)" = AGENTS.md && test -f AGENTS.md && echo "CLAUDE.md symlink guard passed"

Actual result lines:

CLAUDE.md symlink guard passed
REVIEW HARNESS: exit code 0

cargo-fmt

CWD relative to REVIEW_WT: .. Exit: 0. Log: 19-cargo-fmt.log.

cargo fmt --all -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

clippy-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 20-clippy-fastly.log.

cargo clippy-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 24.51s
REVIEW HARNESS: exit code 0

clippy-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 21-clippy-axum.log.

cargo clippy-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 13.68s
REVIEW HARNESS: exit code 0

clippy-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 22-clippy-cloudflare.log.

cargo clippy-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.19s
REVIEW HARNESS: exit code 0

clippy-cloudflare-wasm

CWD relative to REVIEW_WT: .. Exit: 0. Log: 23-clippy-cloudflare-wasm.log.

cargo clippy-cloudflare-wasm

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 12.37s
REVIEW HARNESS: exit code 0

clippy-spin-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 24-clippy-spin-native.log.

cargo clippy-spin-native

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 5.53s
REVIEW HARNESS: exit code 0

clippy-spin-wasm

CWD relative to REVIEW_WT: .. Exit: 0. Log: 25-clippy-spin-wasm.log.

cargo clippy-spin-wasm

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 31.21s
REVIEW HARNESS: exit code 0

clippy-cli

CWD relative to REVIEW_WT: .. Exit: 0. Log: 26-clippy-cli.log.

cargo clippy-cli

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 17.78s
REVIEW HARNESS: exit code 0

clippy-codegen

CWD relative to REVIEW_WT: .. Exit: 0. Log: 27-clippy-codegen.log.

cargo clippy-codegen

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.63s
REVIEW HARNESS: exit code 0

core-digest-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 28-core-digest-clippy.log.

cargo clippy -p trusted-server-core --test template_build_digest -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 9.69s
REVIEW HARNESS: exit code 0

test-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 29-test-fastly.log.

cargo test-fastly

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 37.79s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 1.02s
test result: ok. 3332 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 120.56s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 30 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-fastly-reuse

CWD relative to REVIEW_WT: .. Exit: 0. Log: 30-test-fastly-reuse.log.

cargo test-fastly-reuse

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 27.09s
test result: ok. 242 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 2.69s
REVIEW HARNESS: exit code 0

test-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 31-test-axum.log.

cargo test-axum

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 50.77s
test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.03s
REVIEW HARNESS: exit code 0

test-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 32-test-cloudflare.log.

cargo test-cloudflare

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 27.28s
test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

test-spin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 33-test-spin.log.

cargo test-spin

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 7.13s
test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

core-digest-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 34-core-digest-test.log.

cargo test -p trusted-server-core --test template_build_digest

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 22.33s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
REVIEW HARNESS: exit code 0

cli-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 35-cli-test.log.

./scripts/test-cli.sh

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 37.66s
test result: ok. 765 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.60s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 1.78s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.96s
test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.64s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
test result: ok. 1 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.11s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 1.09s
    Finished `test` profile [unoptimized] target(s) in 0.30s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 771 filtered out; finished in 12.19s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 0.81s
    Finished `test` profile [unoptimized] target(s) in 0.30s
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 768 filtered out; finished in 28.99s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 0.86s
    Finished `test` profile [unoptimized] target(s) in 0.28s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 774 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 4.26s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
    Finished `test` profile [unoptimized] target(s) in 0.29s
    Finished `test` profile [unoptimized] target(s) in 0.26s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 774 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 2.40s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 35 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 54 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

codegen-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 36-codegen-test.log.

cargo test --package trusted-server-openrtb-codegen --target aarch64-apple-darwin

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1.13s
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

parity-fmt

CWD relative to REVIEW_WT: .. Exit: 0. Log: 37-parity-fmt.log.

cargo fmt --manifest-path crates/trusted-server-integration-tests/Cargo.toml -- --check

Actual result lines:

REVIEW HARNESS: exit code 0

parity-test

CWD relative to REVIEW_WT: .. Exit: 0. Log: 38-parity-test.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --test parity

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 11.38s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
REVIEW HARNESS: exit code 0

parity-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 39-parity-clippy.log.

cargo clippy --manifest-path crates/trusted-server-integration-tests/Cargo.toml --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 7.01s
REVIEW HARNESS: exit code 0

lint-domains

CWD relative to REVIEW_WT: .. Exit: 0. Log: 40-lint-domains.log.

cargo run --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --bin ts -- dev lint domains --changed-vs 51730bdaf841e4d7bb96c2258e5e98169bdff9a7 --verbose

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 13.33s
scanned 2622 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-hard-cutover-design.md
scanned 2197 lines in docs/superpowers/specs/2026-10-17-edgezero-pr275-requirements.md
REVIEW HARNESS: exit code 0

build-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 41-build-fastly.log.

cargo build-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.89s
REVIEW HARNESS: exit code 0

build-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 42-build-axum.log.

cargo build-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 12.96s
REVIEW HARNESS: exit code 0

build-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 43-build-cloudflare.log.

cargo build-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 37.24s
REVIEW HARNESS: exit code 0

check-fastly

CWD relative to REVIEW_WT: .. Exit: 0. Log: 44-check-fastly.log.

cargo check-fastly

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 10.28s
REVIEW HARNESS: exit code 0

check-axum

CWD relative to REVIEW_WT: .. Exit: 0. Log: 45-check-axum.log.

cargo check-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 7.79s
REVIEW HARNESS: exit code 0

check-cloudflare

CWD relative to REVIEW_WT: .. Exit: 0. Log: 46-check-cloudflare.log.

cargo check-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 6.85s
REVIEW HARNESS: exit code 0

check-spin

CWD relative to REVIEW_WT: .. Exit: 0. Log: 47-check-spin.log.

cargo check-spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 6.29s
REVIEW HARNESS: exit code 0

check-cloudflare-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 48-check-cloudflare-native.log.

cargo check -p trusted-server-adapter-cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 6.67s
REVIEW HARNESS: exit code 0

check-spin-native

CWD relative to REVIEW_WT: .. Exit: 0. Log: 49-check-spin-native.log.

cargo check -p trusted-server-adapter-spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.33s
REVIEW HARNESS: exit code 0

fastly-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 50-fastly-release.log.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized] target(s) in 1m 14s
REVIEW HARNESS: exit code 0

spin-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 51-spin-release.log.

TRUSTED_SERVER__PUBLISHER__ORIGIN_URL=http://127.0.0.1:8080 TRUSTED_SERVER__PUBLISHER__PROXY_SECRET=integration-test-proxy-secret TRUSTED_SERVER__EC__PASSPHRASE=integration-test-ec-secret-padded-32 TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK=false cargo build --package trusted-server-adapter-spin --target wasm32-wasip1 --features spin --release

Actual result lines:

    Finished `release` profile [optimized] target(s) in 1m 46s
REVIEW HARNESS: exit code 0

fastly-deadlines

CWD relative to REVIEW_WT: .. Exit: 0. Log: 52-fastly-deadlines.log.

node crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs "$(command -v viceroy)"

Actual result lines:

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 242 filtered out; finished in 0.49s
REVIEW HARNESS: exit code 0

cloudflare-deadline-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 53-cloudflare-deadline-build.log.

cargo build --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 43.88s
REVIEW HARNESS: exit code 0

cloudflare-deadline-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 54-cloudflare-deadline-clippy.log.

cargo clippy --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 32.85s
REVIEW HARNESS: exit code 0

spin-deadline-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 55-spin-deadline-build.log.

cargo build --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 47.62s
REVIEW HARNESS: exit code 0

spin-deadline-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 56-spin-deadline-clippy.log.

cargo clippy --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 18.12s
REVIEW HARNESS: exit code 0

cloudflare-deadline-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 57-cloudflare-deadline-runtime.log.

node scripts/test-worker-auction-deadlines.mjs cloudflare --runtime /private/tmp/review-1506-854fe2e/local-tools/node_modules/.bin/wrangler --wasm-bindgen /private/tmp/review-1506-854fe2e/wasm-bindgen-0.2.126/wasm-bindgen

Actual result lines:

PASS cloudflare /fast budget=80 origin=200: complete:205
PASS cloudflare /headers budget=80 origin=0: timeout:81
PASS cloudflare /body budget=80 origin=0: timeout:81
PASS cloudflare /headers budget=80 origin=200: timeout:201
REVIEW HARNESS: exit code 0

spin-deadline-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 58-spin-deadline-runtime.log.

node scripts/test-worker-auction-deadlines.mjs spin --runtime "$(command -v spin)"

Actual result lines:

PASS spin /fast budget=80 origin=200: complete:211
PASS spin /headers budget=80 origin=0: timeout:81
PASS spin /body budget=80 origin=0: timeout:83
PASS spin /headers budget=80 origin=200: timeout:202
PASS spin /large budget=2000 origin=0: oversized:10
REVIEW HARNESS: exit code 0

trace-script-skipped

CWD relative to REVIEW_WT: .. Exit: 0. Log: 59-trace-script-skipped.log.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_skipped_emitted_script_leaves_ad_state_untouched -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1m 06s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.41s
REVIEW HARNESS: exit code 0

trace-script-freezes

CWD relative to REVIEW_WT: .. Exit: 0. Log: 60-trace-script-freezes.log.

cargo test -p trusted-server-core --target aarch64-apple-darwin --lib trace_document_emitted_script_deep_freezes_owned_context_in_node -- --ignored

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 2.81s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3340 filtered out; finished in 0.08s
REVIEW HARNESS: exit code 0

html-benchmark-smoke

CWD relative to REVIEW_WT: .. Exit: 0. Log: 61-html-benchmark-smoke.log.

cargo bench -p trusted-server-core --bench html_processor_bench -- --test

Actual result lines:

    Finished `bench` profile [optimized] target(s) in 1m 37s
Testing html_processor/process_chunk/10kb
Success
Testing html_processor/process_chunk/100kb
Success
REVIEW HARNESS: exit code 0

template-cache-esi

CWD relative to REVIEW_WT: .. Exit: 0. Log: 62-template-cache-esi.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh esi

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.66s
    Finished `dev` profile [unoptimized] target(s) in 0.86s
  22 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-inline

CWD relative to REVIEW_WT: .. Exit: 0. Log: 63-template-cache-inline.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh inline

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.55s
    Finished `dev` profile [unoptimized] target(s) in 0.59s
  9 passed, 0 failed
REVIEW HARNESS: exit code 0

template-cache-purge

CWD relative to REVIEW_WT: .. Exit: 0. Log: 64-template-cache-purge.log.

BID_DELAY=3 ./scripts/template-cache-local-test.sh purge

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.18s
    Finished `dev` profile [unoptimized] target(s) in 0.96s
  34 passed, 0 failed
REVIEW HARNESS: exit code 0

cloudflare-fixture-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 65-cloudflare-fixture-clippy.log.

cargo clippy -p trusted-server-adapter-cloudflare --target wasm32-unknown-unknown --features cloudflare,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 3.64s
REVIEW HARNESS: exit code 0

spin-fixture-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 66-spin-fixture-clippy.log.

cargo clippy -p trusted-server-adapter-spin --target wasm32-wasip1 --features spin,test-utils --lib -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 1.39s
REVIEW HARNESS: exit code 0

cli-native-clippy

CWD relative to REVIEW_WT: .. Exit: 0. Log: 67-cli-native-clippy.log.

cargo clippy --manifest-path crates/trusted-server-cli/Cargo.toml --target aarch64-apple-darwin --all-targets -- -D warnings

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 27.16s
REVIEW HARNESS: exit code 0

canonical-port-preflight

CWD relative to REVIEW_WT: .. Exit: 0. Log: 101-canonical-port-preflight.log.

python3 /private/tmp/pr1506-r4-85f5ca3/build/check-canonical-port.py

Actual result lines:

Canonical CI integration origin port 8888 is available
REVIEW HARNESS: exit code 0

matching-bindgen

CWD relative to REVIEW_WT: .. Exit: 0. Log: 102-matching-bindgen.log.

node --version; wasm-bindgen --version; wrangler --version

Actual result lines:

v24.20.0
wasm-bindgen 0.2.126
4.83.0
REVIEW HARNESS: exit code 0

generate-integration-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 103-generate-integration-config.log.

./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 30.36s
REVIEW HARNESS: exit code 0

generate-trace-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 104-generate-trace-config.log.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace.toml INTEGRATION_BIDDER_ORIGIN_URL=http://127.0.0.1:8888 ARTIFACTS_DIR=/private/tmp/pr1506-r4-85f5ca3/build/integration-artifacts/trace ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 3.49s
REVIEW HARNESS: exit code 0

generate-trace-auth-config

CWD relative to REVIEW_WT: .. Exit: 0. Log: 105-generate-trace-auth-config.log.

INTEGRATION_APP_CONFIG_PATH=crates/trusted-server-integration-tests/fixtures/configs/trusted-server.trace-auth.toml ARTIFACTS_DIR=/private/tmp/pr1506-r4-85f5ca3/build/integration-artifacts/trace-auth ./scripts/generate-integration-viceroy-configs.sh

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 0.46s
REVIEW HARNESS: exit code 0

integration-fastly-release

CWD relative to REVIEW_WT: .. Exit: 0. Log: 106-integration-fastly-release.log.

cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Actual result lines:

    Finished `release` profile [optimized] target(s) in 2.50s
REVIEW HARNESS: exit code 0

integration-axum-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 107-integration-axum-build.log.

cargo build -p trusted-server-adapter-axum

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 2.84s
REVIEW HARNESS: exit code 0

integration-cloudflare-build

CWD relative to REVIEW_WT: .. Exit: 0. Log: 108-integration-cloudflare-build.log.

bash crates/trusted-server-adapter-cloudflare/build.sh

Actual result lines:

    Finished `release` profile [optimized] target(s) in 1m 04s
REVIEW HARNESS: exit code 0

image-wordpress

CWD relative to REVIEW_WT: .. Exit: 0. Log: 109-image-wordpress.log.

docker build -t test-wordpress:latest crates/trusted-server-integration-tests/fixtures/frameworks/wordpress/

Actual result lines:

REVIEW HARNESS: exit code 0

image-nextjs

CWD relative to REVIEW_WT: .. Exit: 0. Log: 110-image-nextjs.log.

docker build --build-arg NODE_VERSION=24.20.0 -t test-nextjs:latest crates/trusted-server-integration-tests/fixtures/frameworks/nextjs/

Actual result lines:

REVIEW HARNESS: exit code 0

browser-setup

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 111-browser-setup.log.

npm ci

Actual result lines:

REVIEW HARNESS: exit code 0

playwright-chromium

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 112-playwright-chromium.log.

npx playwright install chromium

Actual result lines:

REVIEW HARNESS: exit code 0

browser-prebid-artifact

CWD relative to REVIEW_WT: crates/trusted-server-js/lib. Exit: 0. Log: 113-browser-prebid-artifact.log.

npm run build:prebid-external -- --modules-json '{"bidder":["rubiconBidAdapter"]}'

Actual result lines:

REVIEW HARNESS: exit code 0

initial-render-fixture-tests

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 114-initial-render-fixture-tests.log.

node --test initial-render/pages.test.cjs

Actual result lines:

ℹ tests 2
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

trace-fixture-tests

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 115-trace-fixture-tests.log.

node --test trace-fixture.test.cjs

Actual result lines:

ℹ tests 2
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
REVIEW HARNESS: exit code 0

initial-render-ownership

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 116-initial-render-ownership.log.

node initial-render/run.cjs --out /private/tmp/pr1506-r4-85f5ca3/build/initial-render-evidence

Actual result lines:

Controlled comparison assertions passed.
REVIEW HARNESS: exit code 0

prebuilt-trace-digest

CWD relative to REVIEW_WT: .. Exit: 0. Log: 117-prebuilt-trace-digest.log.

mkdir -p /private/tmp/pr1506-r4-85f5ca3/build/prebuilt-bundle && node crates/trusted-server-js/lib/build-all.mjs --out-dir /private/tmp/pr1506-r4-85f5ca3/build/prebuilt-bundle && TSJS_PREBUILT_DIR=/private/tmp/pr1506-r4-85f5ca3/build/prebuilt-bundle cargo check-axum --locked

Actual result lines:

    Finished `dev` profile [unoptimized] target(s) in 13.49s
REVIEW HARNESS: exit code 0

integration-matrix

CWD relative to REVIEW_WT: .. Exit: 0. Log: 118-integration-matrix.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin -- --include-ignored --skip test_wordpress_fastly --skip test_nextjs_fastly --skip trace_browser_workflow --skip trace_runtime_boundary --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 20.67s
test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.50s
test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out; finished in 33.96s
test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
REVIEW HARNESS: exit code 0

integration-fastly-ec

CWD relative to REVIEW_WT: .. Exit: 0. Log: 119-integration-fastly-ec.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin test_ec_lifecycle_fastly -- --include-ignored --test-threads=1

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 2.12s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 13 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 48 filtered out; finished in 2.33s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 28 filtered out; finished in 0.00s
REVIEW HARNESS: exit code 0

integration-trace-runtime

CWD relative to REVIEW_WT: .. Exit: 0. Log: 120-integration-trace-runtime.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_runtime_boundary -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 0.30s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 46 filtered out; finished in 35.11s
REVIEW HARNESS: exit code 0

integration-trace-browser

CWD relative to REVIEW_WT: .. Exit: 0. Log: 121-integration-trace-browser.log.

cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target aarch64-apple-darwin --test integration trace_browser_workflow -- --ignored --test-threads=1 --nocapture

Actual result lines:

    Finished `test` profile [unoptimized] target(s) in 1.30s
  1 passed (6.5s)
  1 passed (4.6s)
  1 passed (2.4s)
  1 passed (2.5s)
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 45 filtered out; finished in 31.45s
REVIEW HARNESS: exit code 0

browser-nextjs

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 122-browser-nextjs.log.

TEST_FRAMEWORK=nextjs PLAYWRIGHT_HTML_REPORT=/private/tmp/pr1506-r4-85f5ca3/build/playwright-report-nextjs npx playwright test

Actual result lines:

  2 skipped
  53 passed (1.0m)
REVIEW HARNESS: exit code 0

browser-wordpress

CWD relative to REVIEW_WT: crates/trusted-server-integration-tests/browser. Exit: 0. Log: 123-browser-wordpress.log.

TEST_FRAMEWORK=wordpress PLAYWRIGHT_HTML_REPORT=/private/tmp/pr1506-r4-85f5ca3/build/playwright-report-wordpress npx playwright test

Actual result lines:

  23 skipped
  32 passed (40.3s)
REVIEW HARNESS: exit code 0

final-source-state

CWD relative to REVIEW_WT: .. Exit: 0. Log: 124-final-source-state.log.

git rev-parse HEAD && test "$(git rev-parse HEAD)" = 85f5ca3d962e85e07b29076daab3908f63ee4929 && git diff --exit-code && git diff --cached --exit-code && git status --short

Actual result lines:

85f5ca3d962e85e07b29076daab3908f63ee4929
REVIEW HARNESS: exit code 0
Fresh source checks and evidence boundaries

Fresh source checks were executed in the owned detached reviewer worktrees at TS 85f5ca3d962e85e07b29076daab3908f63ee4929. Every worktree command used its serialized PRfection ownership wrapper. No migrated TS implementation or current EdgeZero runtime test was executed by these source audits.

  • python3 /private/tmp/pr1506-r4-85f5ca3/audit-transport-build.py — exit0. Actual result lines:
PASS: F1/F3/F5/F6 substantive corrections retained
PASS: H26 exact pins, Spin SDK fork and TS explicit WASI shell commands
PASS:64 exact TS/H source excerpts refreshed without changes; current2622-line design read and recorded
PASS:62 dependent files and37 async-store implementers
PASS:runtime/test/build sources unchanged from exact base and previous review
  • python3 /private/tmp/pr1506-r4-85f5ca3/audit-current-qualification.py — exit0; baseline and current inventories independently parsed:511 total /261 required, EdgeZero237 / TS24; both26 exact direct pins and the Spin SDK fork unchanged. Full source metadata is retained locally; no readiness status is treated as a passing acceptance result.
  • python3 /private/tmp/pr1506-r4-85f5ca3/audit-current-api.py — exit0. Actual result:
Current immutable EdgeZero API/build/export source excerpts: 13; app setters, single-request run_custom qualification binary and fail-closed frozen export confirmed.
  • Publisher's fresh source recorder (exact command in publisher/source-command-result.txt) — exit0;32 source entries /4456 numbered lines, whole-section identity checks and32 stable final hashes. Actual current Fastly eager/readiness and Spin cutoff source was read. The possible stale-check finding was withdrawn: the prescribed harness uses next() and late-drop, which still holds; the check-Pending counterfactual is explicitly H-scoped. No77-case probe was rerun or relabeled current-head.
  • Lifecycle's full current qualification contract/approval/exporter, Connection and optimizer reads (commands in lifecycle/audit.md) — exit0 after two corrected investigator path lookups. Existing F4/F5 remain addressed; the no-freeze-protocol hypothesis was withdrawn because the revision makes no authoritative qualification-pass claim and the exporter still requires frozen/clean/exact-commit/reviewed provenance. The current bounded-empty-Connection handling does not invalidate the chosen operator ban or nominated-field policy.
  • Both cited upstream re-reviews were fetched directly:5810546608 at598f0a2a,5815197468 at6f0cc74c. These are upstream review evidence with a limited stated scope, not reviewer-executed tests or a global upstream approval.
  • Fresh immutable baseline download matched all737 previously inspected baseline files. Current5ea archive SHA256:d22bbf40377a12fedef555e05aba81b2cf305cefd02ff18b0bad0b59ffb17597. No TS/H source was edited.

The source checks support expressibility and consistency of this planning correction. Author-reported hosted runs, qualification, future moving PR275 heads and any frozen-candidate pass remain outside their evidence.

The two newly cited upstream amendment requests were fetched directly with gh api repos/IABTechLab/edgezero/pulls/comments/4504554519 and gh api repos/IABTechLab/edgezero/pulls/comments/4504573926, both exit0. They request per-adapter HTTP3 applicability and strict bodiless framing; the TS design correctly identifies them as requests while the current upstream contract remains unamended. Their requester labels are not substituted for direct user confirmation in this reviewer session.

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.

Write the EdgeZero PR 275 cutover spec

1 participant