PRISM v2.17.0 — Dispatch round-trip
MINOR, additive (no construct renumbering). Slice 3 of the dependency-ordered
sequence: makes the dispatch round-trip symmetric and named end-to-end, building
on the 2.16 lanes/Desk backbone.
Surface
- Dispatch lifecycle (new §4.15). The whole round-trip named as one bounded
construct — five stages (build → dispatch → execute → return/converge →
reconcile), the dispatch-scoped sibling of the engagement lifecycle. A frame
that subsumes the late-bound build, the operator and return cards, and the
failure leg by reference (no renumber). Render-from-live-model named once
across UI view / vendor pick / dispatch paste; Dispatch-builder and
Dispatch-consumer roles. - Late-bound build (§6.2). Layer-1 structural completeness now requires a
pass SPEC, not a frozen Envelope; the Envelope is rendered just-in-time at
dispatch, anchored to the spec so it cannot silently re-scope. - Return + failure leg (§4.4). A proactive return-handling card (default
attach-and-the-session-handles; converge via the seam-③ clean-context
sub-agent) and a failure leg routed by type — seat-failure (capability null
→ converge + named gap + ranked re-dispatch, never auto), digest/ID mismatch
(re-grab before converging), substitution (absorb). Substantive divergence is
the triangulation delta, not a failure. - Dispatch ID + pinned digest preimage (§3.2 / §4.7). A unique
per-dispatch-instance identifier paired with the copy-through digest, so a
re-dispatch of the same pass (identical body ⇒ identical digest) reconciles to
the exact instance. Reconciliation keys on the triple **filename + Dispatch ID- digest**; the digest preimage is pinned for re-stage reproducibility.
- Transport-integrity bracket (§3.2.5). A top-of-paste
PRISM PROMPT INTEGRITYanchor + a terminalEND PRISM DISPATCHED PASTEsentinel wrap the
dispatched paste; Self-check Step 0 confirms the sentinel is present and
its Dispatch ID matches the anchor (presence + string-match, never a hash
recompute) before any work — so a paste copied mid-stream, before its tail
finished writing, is caught at the execution session instead of silently
running partial. The anchor + sentinel are excluded from the digest preimage;
the bracket frames the triple contract, it is not a fourth block. (Operator
refinement; adversarially design-verified — the first design keyed on the
vendor-generated Output block and would have false-halted every paste; the
terminal-sentinel form is the corrected mechanism.) - IVD refinement (§4.14 + SP-15). A fanned Independent Validation Dispatch is
a coverage fan (recall-merge), not triangulation: adjudicate each catch by
re-derivation, never an agreement vote; prefer strong closed-document
reasoners as seats. SP-15 gains the "verify contested first-hand" anchor. - Passive pre-fill of self-report (§4.13). Passively pre-answer
externally-knowable self-report items before the interview (provenance-tagged),
triangulated against the self-report when it arrives; passive-only by default,
active tests need explicit authorization. - Agentic-browser driver class (§3.6) named as distinct from
cowork-mcp
(investigation-posture single-source); the single-arm paste rule (§4.12).
Calibration / report back
- Does the Dispatch ID close the re-dispatch reconciliation ambiguity in live
failure-leg runs without adding operator friction? - Does the late-bound build (spec-not-Envelope) reproduce correctly on long
engagements, refreshing the rendering without re-scoping? - Does the proactive return-handling card remove the "what do I do with these
returns?" ask?
Provenance. Lens Library unchanged (v0.15). Snapshot PRISM_v2_17_0.md
(byte-identical at the v2.17.0 tag). Reference detail in the new Appendix J /
reference/dispatch-conventions.md (promotion map + canonical paste model +
digest-preimage recipe); card schemas in reference/templates.md. Source specs
(Engagements clone): DISPATCH_LIFECYCLE_v1, DISPATCH_CONVENTIONS §A–H,
ML-43/69/73/74. Operator gate confirmed: dispatch-id + pinned preimage.
Part of the PRISM v2.15.0 → v2.19.0 promotion arc. See RELEASING.md.