Skip to content

docs: cache immutable archive builds#432

Draft
jeremi wants to merge 1 commit into
codex/issue-427-remaining-recommendationsfrom
codex/issue-427-docs-cache
Draft

docs: cache immutable archive builds#432
jeremi wants to merge 1 commit into
codex/issue-427-remaining-recommendationsfrom
codex/issue-427-docs-cache

Conversation

@jeremi

@jeremi jeremi commented Jul 20, 2026

Copy link
Copy Markdown
Member

Stacked on the fail-closed controls PR. Implements the content-addressed documentation archive cache recommended in #427.

  • uses incremental archive mode for pull requests and full rebuilds on main, schedules, and explicit full dispatches
  • keys each archive by pinned source refs, archive-affecting inputs, Node and lockfile inputs, and digests of allowlisted build settings
  • restores only exact, validated cached outputs
  • rejects path traversal, symlink traversal, stale metadata, and altered output digests
  • includes restored archive indexes in the combined link check
  • keeps the cache free of credentials and raw environment values

Verification:

  • 134 docs script tests
  • full historical docs check
  • 175-page production build
  • workflow lint and gate inventory checks

Part of #427.

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi
jeremi force-pushed the codex/issue-427-remaining-recommendations branch from 0b9b44e to 7a8a469 Compare July 20, 2026 06:55
@jeremi
jeremi force-pushed the codex/issue-427-docs-cache branch from dc82f31 to 888008b Compare July 20, 2026 06:55
@jeremi

jeremi commented Jul 20, 2026

Copy link
Copy Markdown
Member Author

Release review verdict: please fix and rebase before merge.

Required changes:

  • Decide and enforce the production Pages policy. Pushes to main currently use incremental archive mode and can publish restored archives, while the intended main-path contract is a full rebuild. Make main pushes full, or explicitly document and gate a different policy.
  • Rebase the stack after the release reproducibility work lands and preserve current release and gate-inventory behavior.
  • Run the full docs, release-tooling, workflow, and protected-branch checks. Only DCO has run for this PR head.

This cache work is not a beta-16 blocker, so it should wait until after the release.

jeremi commented Jul 20, 2026

Copy link
Copy Markdown
Member Author

Fresh beta-16 review at head 888008b09dab8bdf84a3daf40585159b47cec067: please keep this stacked draft out of the current release train.

Required before reconsideration:

The caching direction is useful, but production push currently selects incremental archive mode and the current head has only DCO evidence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant