patch: provide real file transformation workflows - #72
Conversation
|
Devil's-advocate review: ACCEPT for source merge after the declared #882 gate at |
98b0169 to
bd2066d
Compare
|
Exact-head devil review: APPROVE I independently rebuilt the corrected formula against the #874 + #882 integration. The installed raw executable is SHA-256 The full unchanged Formula test passes when the integration image contains its normal validated Dash base shell, including real Source/license/dependency/install-surface review is clean. Formula SHA-256 is Hard merge gates remain Automattic/kandelo#874 and #882. No bottle or cross-host pour claim is made here. |
bd2066d to
6194f13
Compare
|
Independent exact-head devil's-advocate review: ACCEPT for The review independently proved the complete Dash/Ed process closure, exact-keg staging, real The first body review correctly rejected an omitted #883 gate: a minimal build without #883 produced different bytes and |
6194f13 to
db3b4c7
Compare
Kandelo users and package builds need GNU Patch as a first-class Homebrew formula, including its real shell-and-editor process chain, instead of relying on the registry-only command. Build upstream GNU Patch through the Kandelo SDK, declare Dash and Ed as its target runtime closure, retain Patch itself as fork-free, and exercise create, modify, delete, reverse, reject, dry-run, and external-editor behavior.
db3b4c7 to
3a3fb86
Compare
Why
Kandelo users and package builds need GNU Patch as a first-class Homebrew Formula instead of the registry-only command. The normal
patch -eworkflow also starts a POSIX shell and GNU Ed, so the Formula must describe and test that real process chain rather than making the top-level executable appear self-contained.What changed
PATHinstead of embedding a builder or Cellar path.patch -e, Patch starts one/bin/shdescendant throughsystem(), and Dash executes Ed in that descendant.patch -eexecution./bin/shand the exact installed Ed keg on the guestPATH, then require the editor child to be observed and exit successfully.GNU Patch implements its editor workflow with
system("ed - ..."). Patch itself does not importkernel_fork, so adding a continuation surface to that executable would misrepresent the program. This Formula validates Patch as fork-free while explicitly supplying the complete required dependency path for the testedpatch -eworkflow. Upstream's optional integrations with other version-control tools are outside this Formula's declared required closure.This PR contains no bottle block, archive, sidecar, receipt, provenance metadata, generated Wasm artifact, platform change, or Kandelo ABI change.
Exact source state
1b4a07b88691e293a100223bc6325bcb0d6f23d03a3fb86dc8177e21af99ac6e912ad8d1a5a866531e1bc86750de7ba085714cb1c58e704e432f177bf43a9200d7dcb22707849dff0da8d835e805b75ef12bb07241a28f8ac126997188022367e9e8e0898f5aa2987ba902ab10690b5fThe former seven-commit branch was folded into one purpose-led commit without changing the Formula behavior or bytes.
Historical runtime evidence
These exact Formula bytes were previously built twice on Kandelo ABI 18. Both builds produced the same fork-free executable and the full installed-keg Formula test passed, including exact-keg Dash at
/bin/sh, exact-keg Ed on the guestPATH, file-content assertions, and one successfully observed child.That run is recipe behavior evidence, not current artifact evidence. The shared support tree and Kandelo ABI have advanced, so the old executable must not be published or treated as ABI 41 proof.
The trusted publisher will rebuild this exact merged Formula against the current ABI 41 platform before any bottle, pour, VFS, Node.js, or Chromium acceptance claim.
Fresh source validation
git diff --checkpassed.All former platform dependency gates are present in merged Kandelo platform batch #967: SDK target facts, truthful musl Autoconf identity, authoritative ABI inspection, and kernel-authoritative
posix_spawnparentage.Scope and remaining gates
This is a source Formula review. Publication-shaped closure currently stops truthfully because Dash does not yet have its canonical public bottle block. That is expected before dependency-first bottle publication and is not hidden by a source fallback.
This PR does not claim a current ABI 41 build, public bottle, GHCR readback, stock Homebrew pour, composed VFS image, in-guest install, or browser result. Those remain post-#968 publisher gates.