Skip to content

Carry page freshness across the render proxy - #37

Merged
nikitakarpei merged 3 commits into
mainfrom
renderproxy-page-freshness
Aug 24, 2026
Merged

Carry page freshness across the render proxy#37
nikitakarpei merged 3 commits into
mainfrom
renderproxy-page-freshness

Conversation

@nikitakarpei

Copy link
Copy Markdown
Owner

Closes #35

The proxy states the freshness conditions a client sends on its own origin
request, relays a 304 without driving the browser, and returns the terms the
origin gives for reusing the copy it serves.

pagefreshness owns which header fields carry freshness in each direction.
renderedpage.Target carries what a render is asked for, so the Renderer
interface takes one value instead of a parameter per fact.

cdpdocumentbinding records the whole document response header and gained a
constructor that takes a context, so a header field that is not text is
reported at WARN instead of dropped in silence.

Arch-lint: pagefreshness is added as a common component. This drops the rule
that every component lists what it may use; the type is vocabulary that the
intake, the preflight, the browser renderer, and renderedpage all state.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@nikitakarpei
nikitakarpei marked this pull request as ready for review August 24, 2026 11:33
nikitakarpei and others added 2 commits August 24, 2026 14:49
The rendered-page case asserts the reuse terms the client receives come from
the browser's own response over CDP, which no unit test reaches. The held-copy
case sends a client entity tag and asserts the origin's 304 arrives with no
body.

The conditional origin states a known entity tag and cache control, and
answers a request that states that entity tag with 304.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A suite ran against whatever image was already tagged, so a service change was
tested against the previous build. Each suite now names the images it needs and
depends on their build targets.

The env the suite reads each image tag through is derived from that list, so
which images a suite needs is stated once. CI drops its separate image step.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@nikitakarpei
nikitakarpei merged commit e409ded into main Aug 24, 2026
10 checks passed
@nikitakarpei
nikitakarpei deleted the renderproxy-page-freshness branch August 24, 2026 12:15
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.

renderproxy drops cache headers and ignores conditional requests

1 participant