Skip to content

Support string and GUID-based package UIDs - #1

Open
mehdii-me wants to merge 1 commit into
HamzaMrA:mainfrom
mehdii-me:feature/string-item-uid
Open

mehdii-me wants to merge 1 commit into
HamzaMrA:mainfrom
mehdii-me:feature/string-item-uid

Conversation

@mehdii-me

Copy link
Copy Markdown

LoadZa now treats item UIDs as opaque string identifiers, supporting GUIDs and other external package IDs while preserving compatibility with numeric UIDs in existing job files.

Changes

  • Changed Item.uid, Placement.item_uid, and Unplaced.item_uid to strings.
  • Preserve explicit string UIDs during deserialization and serialization; normalize numeric UIDs to strings.
  • Keep generated UIDs sequential ("0", "1", …), independent of explicit UIDs.
  • Retain duplicate UID validation.
  • Replace UID-based solver ordering with stable input-order tie-breaking.
  • Store UIDs as text in SQLite and migrate existing integer-affinity UID columns.
  • Update frontend types and document the job JSON UID format.

Validation

  • Full test suite: 144 passed, 4 skipped
  • Ruff: passed
  • Web type-check and production build: passed
  • Verified GUIDs survive deserialization, solving, storage, and plan JSON serialization.

This branch has not been deployed

No deployments
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