Skip to content

Proposal: Define a Graph Determinism Contract to address recurring layout & handle inconsistencies #304

Description

@Muawiya-contact

Feature Details

Hi @AgniveshChaubey , I’ve been going through several recent graph-related issues and PRs, and I’m noticing a recurring pattern around:

  • layout inconsistencies
  • handle positioning issues
  • stale graph state after updates

It seems like many of these are symptoms of the same underlying problem rather than isolated bugs.

Instead of addressing them individually, I wanted to propose defining a small “graph determinism contract” to make the graph pipeline more predictable and consistent.

A rough outline could include:

  • stable node/edge identity rules
  • clear triggers for layout + collision recomputation
  • consistent handle anchoring (especially around $ref and $defs chains)

The idea would be to first align on these invariants, and then implement fixes against this shared contract rather than patching issues case-by-case.

If this direction sounds reasonable, I can:

  • draft a short RFC / design note
  • identify affected areas in the current pipeline
  • follow up with small, focused PRs

Would really appreciate feedback on whether this aligns with the intended direction for the graph system.

Good First Issue

  • I believe this issue is a good first issue for new contributors.

Contribution

  • I am willing to work on this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions