Task Summary
Part of #5882 (design: #5880; umbrella #5881).
Add the cache-key computation that identifies the computation behind an output port. From the port's upstream sub-DAG (its upstream operators, their parameters, their output schemas, and the wiring), it produces a value whose hash is the cache key. The same computation gives the same key, and any upstream change gives a different one. Additive: it is a pure function and nothing calls it yet, so it changes no behavior on its own.
Scope
- A pure function (in workflow-core) that computes an output port's cache key from its upstream sub-DAG.
- The key is a hash over a deterministic serialization of the upstream operators (ids, exec init info, output schemas) and the edges between them, so the same sub-DAG always produces the same key.
- A collision-safe match that confirms a hash match against the full serialized form, so a hash collision never reuses the wrong result.
Why this is safe. Pure function, no database or storage dependency, and no caller yet.
Depends on. None.
Out of scope. Storing or looking up results (the table is #5969; the lookup-and-reuse service is #5885).
Task Type
Task Summary
Part of #5882 (design: #5880; umbrella #5881).
Add the cache-key computation that identifies the computation behind an output port. From the port's upstream sub-DAG (its upstream operators, their parameters, their output schemas, and the wiring), it produces a value whose hash is the cache key. The same computation gives the same key, and any upstream change gives a different one. Additive: it is a pure function and nothing calls it yet, so it changes no behavior on its own.
Scope
Why this is safe. Pure function, no database or storage dependency, and no caller yet.
Depends on. None.
Out of scope. Storing or looking up results (the table is #5969; the lookup-and-reuse service is #5885).
Task Type