Skip to content

Commit 0503b88

Browse files
test: gate atomic pty snapshot rejection in CI
agent-session-id: dev3.dotfiles-cos-misc-agent-runtime-simplification agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /home/schickling/.config/coding-agents/profile.json agent-skills-manifest: /nix/store/nk9iml2841l1yjjg0f6f0d3y60zkg1nn-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@4a0515f
1 parent fc95806 commit 0503b88

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

flake.nix

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,19 @@
123123
};
124124
};
125125

126+
# Narrow sandbox-safe integration gate for the atomic snapshot boundary. The main package
127+
# deliberately omits the broad doctor suite because some doctor cases exercise facilities
128+
# unavailable in the Nix sandbox; this derivation executes the one hermetic regression by
129+
# its unique test name so it cannot be present-but-invisible to CI.
130+
st2AtomicPtySnapshot = st2.overrideAttrs (_: {
131+
pname = "st2-atomic-pty-snapshot-check";
132+
cargoTestFlags = [
133+
"--test"
134+
"doctor"
135+
"doctor_rejects_a_partial_pty_snapshot_atomically"
136+
];
137+
});
138+
126139
hookSuccessorSource = pkgs.runCommand "st2-hook-successor-source" { } ''
127140
cp -R ${self} $out
128141
chmod -R u+w $out
@@ -155,6 +168,7 @@
155168
# commits on every rebase. The devShell ships rustfmt + clippy for whoever
156169
# wants them.
157170
checks.st2 = st2;
171+
checks.atomic-pty-snapshot = st2AtomicPtySnapshot;
158172

159173
# Real producer-consumer contract: st2 consumes `pty list --json` from the exact pty
160174
# revision that owns fleet observation. Fake CLI fixtures below still cover malformed

0 commit comments

Comments
 (0)