docs: propose active-session script publication#1347
Conversation
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
|
Addressed the four review gaps in
The ADR remains scoped to one |
|
Naming follow-up in The command language consistently treats the agent-device open app --save-script=screen-x.ad # arm and choose the script target
agent-device session save-script # publish now, without close
agent-device replay screen-x.ad # execute the scriptThe ADR filename/index, #1346, PR summary, and throwaway prototype are aligned. The prototype update is This supersedes my earlier comment's decision to retain |
|
The direction is coherent, but three acceptance boundaries need to be explicit before this ADR is ready:
The command vocabulary, repair isolation, atomic no-clobber semantics, live-session replay behavior, and explicit secret restriction otherwise look sound. CI has no failures; iOS smoke is still pending. |
|
Captured the non-blocking destination-guard limitation in Current guarantee: the mandatory target-bearing Code inspection found both missing halves for |
|
Re-reviewed |
|
Addressed the three acceptance boundaries from the latest review in
The destination guard's position is now derived from a request-sensitive recording-effect trait on the central command descriptor, with a completeness gate, rather than a publisher-local command list. I also corrected #1349: a polling wait cannot enter ADR 0012's generic pre-action Prototype evidence |
|
Re-reviewed |
|
Summary
Propose an ARMED → PUBLISHED lifecycle for ordinary
.adrecordings.session save-scriptpublishes an open-to-destination script without closing its live session. The ADR requires exactly one initial open, a portable selector-level destination guard after the last descriptor-classified mutation, and terminal ABORTED/PUBLISHED states that cannot be re-armed through later save flags. It preserves the replay response's live-session handoff and explicitly excludes secret-bearing journeys until #1348 provides safe parameterized authoring. #1349 tracks post-resolution identity verification that does not break wait polling.Lifecycle-free composition remains a separate decision in #1336.
Part of #1346.
Prototype evidence: https://github.com/callstack/agent-device/tree/agent/prototype-session-save-replay/scripts/prototypes/session-save-script
Validation