-
Notifications
You must be signed in to change notification settings - Fork 2
Define renderer-owned harness sessions and the generic st2 lifecycle boundary #124
Copy link
Copy link
Open
0 / 10 of 1 issue completedOpen
0 / 10 of 1 issue completed
Copy link
Labels
area:agent-specAgent Spec format, parsing, and the agent-spec crate · Set: manualAgent Spec format, parsing, and the agent-spec crate · Set: manualarea:driverHarness drivers: launch, MCP, app-server, native delivery · Set: manualHarness drivers: launch, MCP, app-server, native delivery · Set: manualarea:identityAgent, session, run, and launch-generation identity · Set: manualAgent, session, run, and launch-generation identity · Set: manualharness:neutralHarness-neutral core that must not encode provider specifics · Set: manualHarness-neutral core that must not encode provider specifics · Set: manualorigin:agentFiled or primarily produced by an AI agent · Set: manualFiled or primarily produced by an AI agent · Set: manualstate:needs-researchNeeds research / investigation before scope or approach is clear · Set: manualNeeds research / investigation before scope or approach is clear · Set: manualstate:open-design-questionUnresolved design choice requiring explicit alignment before implementation · Set: manualUnresolved design choice requiring explicit alignment before implementation · Set: manualtype:epicLarge tracking issue with child tasks · Set: manualLarge tracking issue with child tasks · Set: manual
Description
Activity
Metadata
Metadata
Assignees
Labels
area:agent-specAgent Spec format, parsing, and the agent-spec crate · Set: manualAgent Spec format, parsing, and the agent-spec crate · Set: manualarea:driverHarness drivers: launch, MCP, app-server, native delivery · Set: manualHarness drivers: launch, MCP, app-server, native delivery · Set: manualarea:identityAgent, session, run, and launch-generation identity · Set: manualAgent, session, run, and launch-generation identity · Set: manualharness:neutralHarness-neutral core that must not encode provider specifics · Set: manualHarness-neutral core that must not encode provider specifics · Set: manualorigin:agentFiled or primarily produced by an AI agent · Set: manualFiled or primarily produced by an AI agent · Set: manualstate:needs-researchNeeds research / investigation before scope or approach is clear · Set: manualNeeds research / investigation before scope or approach is clear · Set: manualstate:open-design-questionUnresolved design choice requiring explicit alignment before implementation · Set: manualUnresolved design choice requiring explicit alignment before implementation · Set: manualtype:epicLarge tracking issue with child tasks · Set: manualLarge tracking issue with child tasks · Set: manual
Outcome
This issue is the umbrella for renderer-owned harness session identity and the generic st2 lifecycle boundary.
The ownership decision is:
argv, environment, rendered files, and optional opaque correlation metadata.st2 updaemon remain harness-agnostic. They do not parse provider transcripts, synthesize provider flags, or choose between provider-specific fresh/resume behavior.The normalized catalog is therefore a compiled boundary, not the place where Codex or Claude lifecycle wisdom is implemented.
Compilation boundary
Harness-aware authoring may use driver-specific input such as the following non-normative shape:
That input is consumed before core st2 reconciliation. The renderer emits one complete launch contract, conceptually:
The exact authoring syntax remains open. The invariant is that the daemon sees a complete command rather than partially interpreting harness session policy.
Identity boundaries
The system must distinguish:
None may be silently inferred from a PTY ID, PID, cwd-based last-session lookup, display label, or another identity in this list.
Responsibilities
Axe and harness drivers
st2
Fabric or another store transport
Portable session storage and cross-host movement require a separate single-writer ownership protocol. File convergence alone does not authorize a second writer. A move must fence the source, prove a resumable store generation, converge it, transfer authority, and only then launch the compiled destination contract.
Remaining design work
Child work
PR #157 explored core
start/resumemethod selection. Its evidence remains useful, but that API is superseded by this renderer-first ownership boundary.