Skip to content

fix: exec supports 'cat SRC > DEST' copy form (#13) - #14

Merged
lex00 merged 1 commit into
mainfrom
feature/13-cat-redirect
Jul 14, 2026
Merged

fix: exec supports 'cat SRC > DEST' copy form (#13)#14
lex00 merged 1 commit into
mainfrom
feature/13-cat-redirect

Conversation

@lex00

@lex00 lex00 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Closes #13.

The exec interpreter is meant to mirror chant's in-process sprites-fake.ts exactly, but the fake gained a cat SRC > DEST copy form (chant #848) that spritzer lacked. So an Op that stages a file, runs cat /src > /out, then reads /out works against the fake but fails against spritzer/out is never written.

This broke the shipped sprites-agent-task example against real spritzer (its Run phase is cat /work/input > /work/output) and blocked the build-sandbox tutorial (chant #869).

Add reCatRedirect (copy FS[src] → FS[dest]) ahead of the plain cat form, matching the fake. Table test covers it. go build/vet/test/gofmt clean.

Release 0.4.1 → chant bumps SPRITZER_IMAGE and both examples run green offline.

The exec interpreter mirrors chant's in-process sprites-fake.ts, but the fake
gained a 'cat SRC > DEST' copy form (chant #848) that spritzer lacked. An Op that
stages a file, runs 'cat /src > /out' to process it, then reads /out worked
against the fake but failed against spritzer (/out never written) — breaking
chant's sprites-agent-task example and blocking the build-sandbox tutorial (#869).

Add reCatRedirect (copy FS[src] -> FS[dest]) ahead of the plain cat form,
matching the fake exactly. Table test covers it. build/vet/test/gofmt clean.
@lex00
lex00 merged commit ffa513b into main Jul 14, 2026
2 checks passed
@lex00
lex00 deleted the feature/13-cat-redirect branch July 14, 2026 05:00
lex00 added a commit to INTENTIUS/chant that referenced this pull request Jul 14, 2026
…-task) (#869) (#876)

* docs: Disposable Build Sandbox tutorial + spritzer 0.4.1 (fixes agent-task) (#869)

Adds examples/sprites-build-sandbox + tutorials/sprites-build-sandbox.mdx — a
disposable build box on a Sprite: warm a toolchain, checkpoint it (the prepared
pool), stage source, build, collect the artifact, reset to the checkpoint,
destroy. Registered in the Fly tutorials sidebar group; compile test included.

Also fixes a latent bug from #848: the 'cat SRC > DEST' exec copy form was added
only to the in-process fake, not spritzer's Go interpreter, so sprites-agent-task
was broken against real spritzer (Run wrote nothing, Collect failed). Fixed in
spritzer 0.4.1 (INTENTIUS/spritzer#14, closes spritzer#13); this bumps
SPRITZER_IMAGE to 0.4.1 and the docker-run in the managed-agent-worker tutorial.

Verified against ghcr.io/intentius/spritzer:0.4.1: build-sandbox runs green 8/8
phases, AND sprites-agent-task now completes (Collect succeeds). Docs build
clean; compile tests pass.

* fly-reconcile: rename op to "fly-reconcile" (unique across examples)

The op was named "fly", colliding with local-fly's flyDeploy op (also "fly") —
discoverOps() reported a duplicate-name error and discover.test went red on main
(introduced in #868). Rename to "fly-reconcile" (unique; "reconcile" is taken by
getting-started). Updates the run commands in the tutorial + README + the compile
test. Verified: discover.test green, compile tests pass, docs build clean.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

exec: support 'cat SRC > DEST' copy form (fidelity with the fake)

1 participant