Repository navigation
Pins package and the Roll tool #41
Copy link
Copy link
Closed
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Description
Parent
Spec: #33 (Baseline release). Section numbers refer to its Implementation Decisions.
What to build
One zero-import package holds the Target Chrome and everything rolled with it, and one tool computes it, so the launcher, the protocol generator, the Roll and the release workflow all read the same numbers. Spec sections 2, 4 and 15; ADR-0004, ADR-0005, ADR-0009; tickets #9, #13, #17.
Acceptance criteria
- Package
lib/launcher/pinswith zero imports exports the Target Chrome version and branch position, the Protocol roll, the Companion Chromium position, and a SHA-256 table per managed-browser archive: six Chrome for Testing platforms (linux64,linux-arm64,mac-x64,mac-arm64,win32,win64) timeschromeandchrome-headless-shell, plus five Chromium bucket prefixes (Linux_x64,Mac,Mac_Arm,Win,Win_x64). - Its generator, the Roll tool (descended from upstream's revision generator retrieved from the Snapshot commit): with no argument reads Chrome for Testing's last-known-good Stable version and revision, with a version argument uses that; computes the Protocol roll as the largest devtools-protocol
v0.0.<rev>tag not above the branch position; computes the Companion Chromium as the newest trunk position at or below the branch position present for all five prefixes; downloads every archive from Google's origin bucket only and records its SHA-256, proving each exists; rewrites the package; exits non-zero when any archive is missing. - Re-running with the same version yields zero diff; a check mode re-derives the Protocol roll from the branch position and fails on mismatch.
- A small printer command prints the three pins as one line and as JSON for the release workflow.
- The package is populated for the Chrome for Testing Stable current at execution time; the launcher does not consume it yet and upstream's default revision constant stays until the download rewrite.
Blocked by
- Package layout: internal/, cmd/, tools and docker/ #35 (Package layout: internal/, cmd/, tools and docker/)
Metadata
Metadata
Assignees
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Activity