Skip to content

fix(types): validate post-ASAP DAG wire contracts - #373

Merged
zzylol merged 1 commit into
mainfrom
fix/post-asap-dag-wire-contract
Sep 10, 2026
Merged

fix(types): validate post-ASAP DAG wire contracts#373
zzylol merged 1 commit into
mainfrom
fix/post-asap-dag-wire-contract

Conversation

@zzylol

@zzylol zzylol commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

The post-ASAP DAG is exchanged across a process boundary, but its previous wire shape could represent contradictory nodes, dangling edges, duplicate IDs, cycles, and edge metadata that disagreed with its producer. It also had no version marker for evolving the contract.

This adds a strict, versioned PostAsapDagDocument transport envelope and validates the complete graph before a consumer accepts it. The existing bare ExecutableDag serialization remains available as an explicit compatibility adapter. Compilation now validates its own output, and the validator checks operator/payload agreement, node and endpoint identity, reachability, acyclicity, and duplicated edge schema/data-state invariants.

Validation: cargo test -p asap-types post_asap::executable_dag

@zzylol zzylol changed the title Validate and version the post-ASAP DAG wire contract fix(types): validate post-ASAP DAG wire contracts Sep 10, 2026
@zzylol
zzylol merged commit d0d9708 into main Sep 10, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant