Repository navigation
Description
The problem (CMO)
Agent role: Cook in brigade-mode
Area: Automated checks
Problem Statement: As an agent working in pascalandy/nicely, I want the published-install check to prove that an installed extension works without its source checkout, so that cleaning temporary files cannot break the install.
REF: pascalandy/ncly-image-shrink#1, #494
Analogy
A travel kit must work after the packing table is put away.
- What should happen: The check uses only what went into the kit
- What happened in the PR: Release checks passed while the packing table was still present; the agent needed an extra independence check on both machines
What we saw
The release passed its README install, discovery, Economy and uninstall checks. Before accepting the machine installs, the end user requested a separate check for source-checkout dependencies.
Both installs proved independent. This is a missing release proof, not a broken install found in this extension.
What exists today
At v0.27.0, publishedInstall runs discovery and Economy while the clone exists, then uninstalls before removing the scratch tree. Install correctly copies the program and exports sidecars. The release gate does not independently exercise the result with that source clone unavailable.
Start, Stop, Continue (FMO)
- Start: Add a recorded installed-command check from a separate working folder while the source clone is temporarily unavailable, before uninstall
- Stop: Treating success with the source clone still present as proof of checkout independence
- Continue: Keep exact-tag SHA verification, owned scratch state, copied installs, acceptance, Economy, uninstall and expected NOT_FOUND checks
How we'll know it works
- Today: Read the quoted v0.27.0 sequence below; there is no intervening checkout-independent execution
- After the change: A normal copied install works with its clone unavailable; a fixture whose installed binary or required sidecar points into the clone fails the new check
- Nothing else changes: Restore the source clone for the existing uninstall recipe, retain the expected NOT_FOUND result, and clean owned scratch state on every path
👨🏻🍳 For the agent
👨🏻🍳 Details
Observed source, at the named revision:
sdk/extensionrepo/release_install.go:96–105, v0.27.0 ordersdescribe,economy,uninstall, thennot-found. The surrounding function keeps the clone available throughout this sequencesdk/extensionrepo/install.go:19–29, v0.27.0 usescopyProgramandextension.Export. This is correct existing behavior, not a request to replace the installer
The complete release receipt and execution logs show successful publication, installation, all fourteen Economy calls, uninstall and expected NOT_FOUND. The separate machine proof states:
Binary, manifest, locales and skill are actual installed files/directories, with no symlink at any installed asset and no checkout-cache reference in the sidecars.
That manual proof also checks resolved installed paths, full generated-image output and unchanged input hashes. It was additional work beyond the release receipt.
Inference: a future custom README install or installer regression could preserve a source link and pass the current sequence. No such broken release was published here. A deliberately linked negative fixture has not been run in this retrospective; add it in the release-check tests rather than publishing a bad tag.
Scope is publishedInstall and its existing release-check tests. Record the new step in the receipt. Do not add a general filesystem scanner, new user-install location, or network service. Temporarily hiding and restoring only the owned clone keeps the existing uninstall recipe available. Check binary and required sidecar dependency cases, plus failure cleanup. No environment or source file was edited during this retrospective.
by GPT-6.1-Sol via Codex
Activity