Process contracts¶
A ProcessContract is a parent receipt over independently admitted capabilities.
Schema openadapt.process-contract/v0. Each child already carries a live
openadapt.qualification-admission/v1 envelope: one workflow version, one
bundle digest, a counted campaign, identity and effect contract digests, a
30-day lifetime, signed Ed25519. The parent names those admissions by
admission_id. It doesn't copy recordings.
admission_id is a UUID on the child's envelope, distinct from
runtime_validation_id. Sitting next to another child doesn't extend anyone's
validity interval or digest binding. A child whose admission is expired,
revoked, or bound to a different digest is refused before Execute is called.
Handoffs are effect facts¶
A handoff copies a parameter from child A into child B only when A's run ended
VERIFIED and A's Effect CONFIRMed that parameter. Window titles and URLs are
not evidence. A missing, empty, or unbound fact stops the parent before B
starts.
The parent receipt records, for each child, the admission_id, workflow
version, bundle digest, terminal outcome, and model-call count. For each
handoff it records the source, the target, and that the source was VERIFIED.
Parent VERIFIED requires every child VERIFIED and zero model calls.
The recording parent and the admission parent¶
openadapt flow compose writes composition.json
(openadapt.composition/v1) and copies compiled child bundles. Use it after
you recorded each surface, before those children are admitted. certify and
run execute that directory. replay refuses it.
openadapt flow process writes process-contract.json and points at
admissions. It copies nothing. Pointing it at a composition.json directory
is refused, because those children aren't admitted. Each child runs through
OpenAdapt Execute with that child's envelope.
replay of the process parent is refused.
A compiled bundle still has its own ProgramGraph. visualize on a process
parent shows admitted children, handoff edges, and a terminal labeled End of
declared steps. Open the child bundle for its steps. See
Read a compiled program.
RFC-0001 is the name of this contract. Qualify each child first: Qualify a workflow.