Skip to content

Add the cache key computation for an output port #5968

Description

@Xiao-zhen-Liu

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

  • Refactor / Cleanup
  • DevOps / Deployment / CI
  • Testing / QA
  • Documentation
  • Performance
  • Other

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions