OpenFn / OpenFn/kit

CLI Merge: Do not transfer UUID of source node when creating new nodes

Open
#1,125 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

DevX
Dominant language
TypeScript
Stars
21
Forks
23
Avg merge
1d 22h
Merged PRs (30d)
17

Description

When creating new nodes as a result of a merge, the new node in the target must either:

  1. have no UUID at all (let Lightning create it later)
    b) Have its own unique UUID

Right now, when merging, it seem the UUID is copied from the source. Which is incorrect and does not match the Lightning behaviour.

Sample code from the integration test repo:

const main = `x-y`;
const staging = `x-y y-z`;
const expected = `x-y y-z`;
const newUuids = {
  z: 2004, // Wait, this should NOT copy the UUID from staging
  "y-z": 2005,
};

await merge(ctx, main, staging, expected, newUuids);

Side note: when the CLI generates UUIDs, how can we make them predictable?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the CLI merge entry point and the integration test repo's merge helper shown in the issue. Trace how UUIDs are assigned to nodes created from the source, then update or add coverage for the sample merge so a new target node does not reuse the source UUID. Done means the merge preserves existing nodes and gives newly created nodes no copied UUID, with predictable generation addressed only if the current tests require it.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.