Skip to content

test: gate st2 against bounded PTY fleet observation - #84

Merged
myobie merged 5 commits into
mainfrom
schickling-assistant/2026-07-30-pty-fleet-contract
Jul 30, 2026
Merged

test: gate st2 against bounded PTY fleet observation#84
myobie merged 5 commits into
mainfrom
schickling-assistant/2026-07-30-pty-fleet-contract

Conversation

@schickling-assistant

@schickling-assistant schickling-assistant commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a hermetic packaged st2 -> pty fleet-observation contract for 0/75/100/500 sessions
  • pin the exact PTY producer revision and execute its shipped fleet-observation fault suite for EPERM handling and one fleet-wide socket-fallback budget
  • preserve the existing 2-second st2 outer deadline and reject malformed partial snapshots atomically

This is the producer/consumer evidence replacement for the synthetic fixed-sleep fixture in #78. Its scope is deliberately limited to the exact packaged pty list --json producer and the fleet-observation behavior exercised here; it does not claim the broader runtime lifecycle contract tracked in #30. It also does not increase the timeout or ratify full-registry census as the final architecture. The follow-up architecture is pure exact-ID observation on reconciliation paths, with whole-root snapshots reserved for explicit audit/eval cleanup.

Verification at e1e06669665f8746cb767960ebbb0632770fcf1b

Review corrections

Named follow-up

Export the PTY producer fault contract as a stable public flake check or test entrypoint. The current hermetic compatibility gate intentionally executes the exact pinned package, but reaches its private lib/pty/node_modules/vitest layout until PTY publishes that seam.

No live catalog, service, or PTY state was used.

schickling-assistant added a commit that referenced this pull request Jul 30, 2026
PR #78 promoted a consumer timeout into a fleet-scalability contract. Restore the two-second outer bound and remove its synthetic fixed-sleep proof while retaining the portable hung-process fixture.

Fleet behavior is proved against the packaged runtime in PR #84. Pure exact-ID observation remains the R19 architecture rather than a larger global-census timeout.

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
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
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
@schickling-assistant
schickling-assistant force-pushed the schickling-assistant/2026-07-30-pty-fleet-contract branch from 45aaa26 to fc95806 Compare July 30, 2026 12:57
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
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

@myobie myobie left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The producer/consumer observation proof is useful and the test shape is sound, but two corrections are required before approval:

  1. Narrow the flake wording from broad “runtime compatibility” / “coherent lifecycle baseline” to the exact contract this proves: packaged PTY fleet-observation compatibility. st2 issue #30 documents a still-open packaged restart-environment incompatibility, so this pin cannot honestly stand for full st2↔PTY runtime compatibility.
  2. Replace the newly introduced seat terminology (500-seat, variable name, and fixture prefix) with session terminology. These are PTY sessions, and st2’s accepted ontology models agents rather than seats.

No objection to the evidence architecture once those scope/terminology corrections are made.

@myobie myobie left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved at exact head e1e0666. Both requested corrections are complete: the pin is scoped to packaged fleet observation rather than broad runtime compatibility, and all newly introduced PTY fixtures use session terminology. The producer/consumer proof, atomic malformed-snapshot refusal, fleet-size budget matrix, focused/full checks, and hosted Nix gate are green.

@myobie
myobie merged commit ef20e20 into main Jul 30, 2026
1 check passed
@schickling schickling added area:ci CI workflows, gates, and test infrastructure · Set: manual area:pty PTY sessions and terminal integration · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: manual type:chore Maintenance, cleanup, dependencies, CI, or refactoring · Set: manual labels Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:ci CI workflows, gates, and test infrastructure · Set: manual area:pty PTY sessions and terminal integration · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: manual type:chore Maintenance, cleanup, dependencies, CI, or refactoring · Set: manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants