Skip to content

Commit c1c0246

Browse files
schickling-assistantmyobie
authored andcommitted
eval: pin published Resource runner
agent-session-id: dev3.dotfiles-cos-misc-st2-resource-design agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /home/schickling/.local/state/agent-session-recovery/2026-07-29-pty-st2-cutover/runtime-profile/profile-without-null-opencode.json agent-skills-manifest: /nix/store/kx5j47nghj1yps2v693ryb6wnf1c2xhb-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@16a22c6
1 parent 91d4751 commit c1c0246

5 files changed

Lines changed: 57 additions & 12 deletions

File tree

AGENT-SPEC.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This is the sole agent-authoring specification for this repository. It is pinned to st2
44
[`0fed14bb5653b67e1d64f1199e240c4c5c612bf7`](https://github.com/compoundingtech/st2/commit/0fed14bb5653b67e1d64f1199e240c4c5c612bf7)
5-
(`0.1.0+0fed14b`, source `0fed14b`). It documents the hand-authored KDL accepted at that commit. Do not infer
5+
(`0.1.0`, source `0fed14b`). It documents the hand-authored KDL accepted at that commit. Do not infer
66
additional fields or commands from older corpus fixtures.
77

88
st2 runs long-lived `service` agents made of interactive `pty` tasks and terminal-free `exec` tasks.
@@ -470,11 +470,13 @@ Inspect the declaration, every referenced template, and every workspace destinat
470470
materialization command. Materialization is byte-idempotent and does not imply hook installation. Starting
471471
the network is a separate, explicitly authorized action.
472472

473-
For source `0fed14b`, the accepted pre-merge Nix-built Linux executable has SHA256
474-
`96b394f270f0a3eb25dd29574a96f30d527a56bee63c2499d6db7e4a58707648`. There is no published portable
475-
archive for this unmerged commit. After `compoundingtech/st2#86` merges, this pin must move to its accepted
476-
release and record the fresh-download archive hash before the corpus is ready. `bin/check-corpus.sh` verifies
477-
the variable-age Nix version contract, exact installed candidate binary, strict semantic validation, fixture
478-
resets, and the rest of the model-free corpus gate before an eval may run. The pre-merge Nix stamp embeds only
479-
the short revision, so the full source link above is review/build provenance rather than a claim extracted
480-
from the binary; the post-merge portable release must restore fresh-download full-source proof.
473+
For source `0fed14b`, the accepted published Linux executable has SHA256
474+
`d61d12b2b1189a391c196ca28f8f4ba69072d14fcbad2571fc29db1f250f4eed`; its published archive has SHA256
475+
`d14404ae678bbe3f2a5ad8580cde1e4b8f6009067c46555f392c6e0957b8a2da`, and the downloaded `SHA256SUMS`
476+
asset has SHA256 `50cfd8722e58d1c74fdc543f3e3bb3bac768decd04575fde2360ea838ec5e9d3`. The immutable
477+
[`v0.2.0+0fed14b`](https://github.com/compoundingtech/st2/releases/tag/v0.2.0%2B0fed14b) release targets the
478+
full source commit above; the terminal-green
479+
[`release-portable` run](https://github.com/compoundingtech/st2/actions/runs/30550227417) verifies a fresh
480+
download, checksum, extraction, and execution.
481+
`bin/check-corpus.sh` verifies the variable-age version contract, exact installed binary, strict semantic
482+
validation, fixture resets, and the rest of the model-free corpus gate before an eval may run.

bin/check-corpus.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
66
cd "$repo_root"
77

88
expected_source="0fed14b"
9-
expected_binary_sha256="96b394f270f0a3eb25dd29574a96f30d527a56bee63c2499d6db7e4a58707648"
10-
expected_version_regex='^st2 0\.1\.0\+0fed14bcommitted .+ ago$'
9+
expected_binary_sha256="d61d12b2b1189a391c196ca28f8f4ba69072d14fcbad2571fc29db1f250f4eed"
10+
expected_version_regex='^st2 0\.1\.0 — running from local source \(0fed14b, .+ ago\)$'
1111
st2_path="$(command -v st2)"
1212
actual_version="$(st2 --version)"
1313
[[ "$actual_version" =~ $expected_version_regex ]] || {
@@ -19,7 +19,7 @@ actual_binary_sha256="$(sha256sum "$st2_path" | awk '{ print $1 }')"
1919
echo "FAIL: expected st2 binary sha256 $expected_binary_sha256, found $actual_binary_sha256 at $st2_path" >&2
2020
exit 1
2121
}
22-
echo "PASS: pinned pre-merge Nix candidate $expected_source ($actual_version; sha256 $actual_binary_sha256)"
22+
echo "PASS: pinned published runner source $expected_source ($actual_version; sha256 $actual_binary_sha256)"
2323

2424
mapfile -d '' shell_files < <(
2525
find bin cells -type f -name '*.sh' -not -path '*/_git/*' -print0 | sort -z
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# arc.worker - assignment-driven eval worker
2+
3+
You own this repository. Durable context is `../agent-spec.kdl`; task facts are not delivered in messages.
4+
5+
After the supervisor delegates:
6+
7+
1. reread `../agent-spec.kdl`;
8+
2. require exactly one `assignment "active"`, follow its `uses` reference to the `intent` Resource, require the
9+
Assignment ID to equal that Resource URI, and resolve that exact URI with `../bin/resource-read <URI>`
10+
before changing product files;
11+
3. implement only the resolved work, verify its acceptance criteria, and commit the result; and
12+
4. send `arc.sup` a report containing the exact URI, full commit hash, changed paths, and verification result.
13+
14+
Never infer work from an unselected Resource. In particular, `review-context` is not the current task. Drain
15+
and archive every handled bus message.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# arc.worker - focus-driven eval worker
2+
3+
You own this repository. Durable context is `../agent-spec.kdl`; task facts are not delivered in messages.
4+
5+
After the supervisor delegates:
6+
7+
1. reread `../agent-spec.kdl`;
8+
2. follow `focus "intent"` to the named `intent` Resource and resolve that exact URI with
9+
`../bin/resource-read <URI>` before changing product files;
10+
3. implement only the resolved work, verify its acceptance criteria, and commit the result; and
11+
4. send `arc.sup` a report containing the exact URI, full commit hash, changed paths, and verification result.
12+
13+
Ignore Resources not selected by `focus` as possible work. In particular, `review-context` is not the current
14+
task. Drain and archive every handled bus message.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# arc.worker - resource-driven eval worker
2+
3+
You own this repository. Durable context is `../agent-spec.kdl`; task facts are not delivered in messages.
4+
5+
After the supervisor delegates:
6+
7+
1. reread `../agent-spec.kdl`;
8+
2. resolve the exact URI of the named `work` Resource with `../bin/resource-read <URI>` before changing product
9+
files;
10+
3. implement only the resolved work, verify its acceptance criteria, and commit the result; and
11+
4. send `arc.sup` a report containing the exact URI, full commit hash, changed paths, and verification result.
12+
13+
Ignore other Resources as possible work. In particular, `review-context` is not the current task. Drain and
14+
archive every handled bus message.

0 commit comments

Comments
 (0)