feat: compose driver and PTY session observation fidelity - #353
feat: compose driver and PTY session observation fidelity#353schickling-assistant wants to merge 2 commits into
Conversation
A deployed 627-seat consumer exposed the envelope's coverage hole: readers were fleet-wide while producers existed only when an st2 driver owned the session. Compose a launcher-agnostic session projection at read time from PTY lastOutputAtMs, with explicit fidelity=driver|session. Definite fresh driver state wins. Missing/unknown driver state falls back to alive PTY output activity; session fidelity proves only state+since. No coarse record writer, fencing, heartbeat, or launcher awareness is introduced. Includes the user-confirmed constitutional VRS amendment: requirements, spec, ontology, decision 0006 Amendment 1, and measured experiment. agent-identity: unknown agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.0.3 agent-runtime: OMP 18.0.3 tooling-profile: dotfiles@e4789b0
agent-identity: unknown agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.0.3 agent-runtime: OMP 18.0.3 tooling-profile: dotfiles@e4789b0
Post-deploy finding: PTY viewer redraw produces a false coarse
|
| field | value |
|---|---|
agent_identity |
unknown |
agent_persona |
generalist |
agent_supervisor |
unavailable |
agent_tool |
OMP |
agent_tool_version |
18.0.3 |
agent_runtime |
OMP 18.0.3 |
tooling_profile |
dotfiles@e4789b0 |
|
Superseded by live observer-effect evidence and the restored single-owner semantic activity fold in dotfiles/fractal. Evidence: #353 (comment) Posted on behalf of @schickling
|
Problem
Observed harness-state readers are fleet-wide, but rich producers exist only when an st2 native driver owns the session. A downstream 627-seat catalog launched harnesses through a different wrapper:
st2 hooks verify, presence, Doctor, and catalog gates were green while zero seats produced a record and every TUI row renderednever observed.The producer contract was an unenforced deployment property. st2 must not know about or branch on any launcher.
Goal
Every local running seat has launcher- and harness-agnostic coarse activity. Rich driver observations remain the fine layer and win when fresh.
Decisions
lastOutputAtMsin the daemon output path. st2 reads canonical<pty-root>/<bus-id>.jsondirectly and derivesactive(≤60s) /idle(>60s), with a 30s future-skew guard.observedState.fidelity = driver | session. Driver fidelity covers the full tuple. Session fidelity proves onlystateandsince; blocked/input/ask remainunknown. Updated consumers use only the proved axes.pty_id = bus_idis runner-owned. No axe or harness name enters the projection.Verification
cargo check --all-targets— green.cargo test agents:: --no-fail-fast— green.cargo test observed --no-fail-fast— green (includes Doctor wire/diagnostics).check, 16m34s) after recovery from the documented Actions major outage.nix build .#default --no-link— green:/nix/store/0d2pkfwzbx483iqb9j02fc40p42yww7i-st2-0.1.0.Complexity
One discriminator, one optional session metadata read per local row, one precedence fold. No process, subscription, history, writer identity, fencing, heartbeat, or retention lifecycle added.
Concerns
lastOutputAtMsruns, session fidelity remains absent and Doctor explains the missing capability.Friction & bottlenecks
Follow-ups
fidelity=sessionwithout poisoning coarse state with unknown fine axes; pin PTY feat(agent-spec): bind admission receipts to revision #168 and this PR; live e2e across claude/codex/opencode.References
Posted on behalf of @schickling
agent_identityagent_personaagent_supervisoragent_toolagent_tool_versionagent_runtimetooling_profile