fix(client-assets): verify configured release archives - #97
Open
blakinio wants to merge 5 commits into
Open
Conversation
This was referenced Jul 30, 2026
blakinio
force-pushed
the
ci/OTC-20260730-client-assets-real-release-rehearsal
branch
from
August 1, 2026 08:17
73ddebd to
e5bce44
Compare
blakinio
marked this pull request as ready for review
August 1, 2026 08:21
Restack the release archive integrity fix on current main, request the GitHub API version that exposes asset digests, and fail closed before download when an authoritative SHA-256 digest is absent.
blakinio
force-pushed
the
ci/OTC-20260730-client-assets-real-release-rehearsal
branch
from
August 1, 2026 11:53
e5bce44 to
0941f09
Compare
Keep the versioned GitHub API headers active until the asynchronous release response completes, retain fail-closed digest binding, and cover the request lifetime in Lua tests.
Before any configured GitHub release archive download without a cached digest, refresh the versioned release catalog, bind the exact asset URL, and fail closed if the authoritative SHA-256 remains unavailable.
Wrap the exported ensureClientVersion entry point so the configured GitHub release and download wrappers are installed after HTTP startup. Preserve fail-closed archive digest verification and cover the late-initialization runtime ordering.
Verify any exact archive URL bound from the configured release response, while limiting cache-miss refreshes to the configured GitHub release download namespace. This keeps synthetic fixtures faithful to the URL-binding contract.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Close the production-integrity blocker exposed by the first real-release rehearsal for merged PR #37.
Change
browser_download_url;Real-release evidence
The operational workflow queries the actual configured
dudantas/tibia-clientreleases endpoint, verifies the upstream manifest identifier, builds a clean Linux client, drives the shipped installer under Xvfb and proves exact client version1525loads appearances/static data. The workflow remains temporary and will be removed before merge after final evidence is recorded.Safety
No account or game-world login, deployment, committed/downloaded game bytes, workflow artifact upload, hash relaxation or alternate runtime asset path.
Coordination
Shared
docs/agents/MODULE_CATALOG.mdanddocs/agents/CHANGELOG.mdremain untouched because draft PR #23 owns those paths.Validation
Task
OTC-20260730-client-assets-real-release-rehearsal