Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…re verify cases) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a problem, stricter fixture) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rds, symlink, mode); builder rulings in the plan Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… stalls after its headers Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…med twice) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…; help and comment wording from task-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
devteam.mjs box-pins: verify, check and bump the box image's tool pins incloud/Dockerfile, and check what the image installed. Featurebox-latest-hub, story BOXHUB-S3; ticket kit-48-box-pins-command (risk high).What it does
box-pins verify [--release vX.Y.Z](offline, in the kit's own checkout): every tool has its_VERSIONARG (a plain version) and, for gh, ttyd, mise and uv, both_SHA256ARGs as 64 lowercase hex; no version or sum is written anywhere else in the file;DEVTEAM_RELEASEisvX.Y.Zand equals--release;DEVTEAM_BOX_TOOLSnames exactly the six pins; every hold is exactly# hold: <reason>directly above a_VERSIONARG. Exit 0, or 1 naming each problem; 2 when there is nocloud/Dockerfile.box-pins check [--json]: each unheld tool against npm, PyPI or GitHub's releases (drafts and prereleases skipped, highest version taken):current,stale <pinned> -> <latest>,held <reason>,unknown <why>. Exit 1 if any is stale, else 3 if any upstream couldn't be asked, else 0; 2 for a file that doesn't verify.box-pins bump --release vX.Y.Z [--dry-run]: every unheld tool to its latest, each sum the sha256 of the downloaded asset (cross-checked against GitHub's published digest),DEVTEAM_RELEASEstamped. All or nothing: any upstream failure, or a result that would not verify, writes nothing. Writes atomically beside the file, keeping its mode; refuses a release older than the stamp.box-pins installed(inside the image, from any folder): runs each tool by its path in the image (/usr/local/bin, never PATH, where mise'suvcomes first on the box) and claude-swap throughUV_TOOL_DIR=/opt/uv/tools uv tool list, and compares withDEVTEAM_BOX_TOOLS. Exit 1 naming any mismatch; 2 outside the image.box-pinsjoinsKIT_VIEWS(its comment now saysbumpwritescloud/Dockerfile);installedis machine-wide. Help says only the top package of the npm and PyPI tools is pinned.Only
docs/devteam/scripts/devteam.mjsandtest/machine.test.mjschange; no file is added outside this ticket's records (docs/devteam-dev/tickets/kit-48-box-pins-command/).How to verify
node --test test/machine.test.mjs: the new tests use one in-process server for npm, PyPI and GitHub (DEVTEAM_PINS_*), a copy ofcloud/Dockerfilewith its pins fixed (so a real bump or hold never changes them), fake binaries underDEVTEAM_BOX_BIN, and no network. Every new test passes an env withDEVTEAM_IMAGE_HUB,DEVTEAM_KIT_RELEASE,DEVTEAM_BOX_TOOLS,GH_TOKENandGITHUB_TOKENcleared.node docs/devteam/scripts/devteam.mjs box-pins verifyin this checkout:ok, 6 tools, release v0.52.0.node docs/devteam/scripts/devteam.mjs box-pins check(network): which pins are behind today.What this doesn't defend against
bumppins whatever upstream publishes: trust on first download, cross-checked only against GitHub's own digest. A compromised upstream release would be pinned. The reviewed release-prep PR (and its box-image build) is the check (m-20261115-012104539-supervisor).DEVTEAM_BOX_BIN(tests only) changes whereinstalledlooks; adevprocess could point it elsewhere on purpose, which changes only what is reported (P6).One-way doors
None.
🤖 Generated with Claude Code