Consume the Runseal profile closure #64

Merged
PerishFire merged 1 commit from wrapperless into main 2026-08-02 08:38:05 +00:00
Owner

Runseal 0.14 replaced the wrapper host with the profile closure. A profile carries
env, argv and symlink declarations and nothing else, and Runseal no longer hosts
Deno, Sealkit, filesystem wrappers or repository hooks.

This repository was still on the 0.13 shape. runseal.toml did not parse under the
installed Runseal at all — [resources], [deno] and [[injections]] are unknown
fields — and .runseal/hooks/pre-commit ended in a bare runseal :guard, which 0.14
rejects with profile mode requires a command or @tool. Every commit here has been
going through --no-verify with the guard run by hand.

Plumb opened the other half in 0.18.6: once the workflow carries the evidence directly,
the generic guard, init and land wrappers and the repository's own hooks may go. So
guard.yml now runs plumb, ectropy, cargo, deno and the acts itself instead of
delegating to a script that did the same thing one level down.

act.ts and ship.ts stay, with known roles: the acts harness, and an image build
that Plumb's release CLI has no equivalent for, since it ships archives and managers
rather than containers. 0.18.8 is explicit that a wrapper may only go once the CLI
replacement exists. Doctor accepts the reduced set and reports wrappers act ship.

guard.yml also starts watching release/** the way concord's does, so a release line
carries its own recorded evidence rather than relying on the commit having been seen
on main.

Verified locally: runseal profile now resolves this repository (it could not before),
runseal : plumb doctor . runs through the profile, doctor is true to the skeleton, and
every step the old wrapper performed was run by hand and is clean, including all acts.

Runseal 0.14 replaced the wrapper host with the profile closure. A profile carries `env`, `argv` and `symlink` declarations and nothing else, and Runseal no longer hosts Deno, Sealkit, filesystem wrappers or repository hooks. This repository was still on the 0.13 shape. `runseal.toml` did not parse under the installed Runseal at all — `[resources]`, `[deno]` and `[[injections]]` are unknown fields — and `.runseal/hooks/pre-commit` ended in a bare `runseal :guard`, which 0.14 rejects with `profile mode requires a command or @tool`. Every commit here has been going through `--no-verify` with the guard run by hand. Plumb opened the other half in 0.18.6: once the workflow carries the evidence directly, the generic guard, init and land wrappers and the repository's own hooks may go. So `guard.yml` now runs plumb, ectropy, cargo, deno and the acts itself instead of delegating to a script that did the same thing one level down. `act.ts` and `ship.ts` stay, with known roles: the acts harness, and an image build that Plumb's release CLI has no equivalent for, since it ships archives and managers rather than containers. 0.18.8 is explicit that a wrapper may only go once the CLI replacement exists. Doctor accepts the reduced set and reports `wrappers act ship`. `guard.yml` also starts watching `release/**` the way concord's does, so a release line carries its own recorded evidence rather than relying on the commit having been seen on main. Verified locally: `runseal profile` now resolves this repository (it could not before), `runseal : plumb doctor .` runs through the profile, doctor is true to the skeleton, and every step the old wrapper performed was run by hand and is clean, including all acts.
Consume the Runseal profile closure
All checks were successful
guard / guard (pull_request) Successful in 3m45s
guard / guard (push) Successful in 3m23s
0232bcf9a2
Runseal 0.14 replaced the wrapper host with the profile closure: a profile
carries env, argv and symlink declarations and nothing else, and it no longer
hosts Deno, Sealkit, filesystem wrappers or repository hooks. This repository
was still on the 0.13 shape, so `runseal.toml` did not parse at all and the
pre-commit hook ended in a bare `runseal :guard` that the installed Runseal
refuses. Every commit here has been going through --no-verify.

Plumb opened the other half in 0.18.6: once the workflow carries the evidence
directly, the generic guard, init and land wrappers and the repository's own
hooks may go. So guard.yml now runs plumb, ectropy, cargo, deno and the acts
itself rather than delegating to a script that did the same thing one level
down.

act.ts and ship.ts stay. They are product-specific and keep known roles: the
acts harness, and an image build that Plumb's release CLI has no equivalent
for, since it ships archives and managers rather than containers. Doctor
accepts the reduced set and reports `wrappers act ship`.

guard.yml also starts watching release/** the way concord's does, so a release
line carries its own recorded evidence rather than relying on the commit
having been seen on main.
PerishFire deleted branch wrapperless 2026-08-02 08:38:05 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishLab/ensign!64
No description provided.