Skip to content

Add UI projection (build_ui_dict.py + ui_datadict.db)#49

Merged
cloud3000 merged 1 commit into
mainfrom
ui-dict
Jun 28, 2026
Merged

Add UI projection (build_ui_dict.py + ui_datadict.db)#49
cloud3000 merged 1 commit into
mainfrom
ui-dict

Conversation

@cloud3000

Copy link
Copy Markdown
Owner

Summary

Adds a UI / resource-governance projection of the dictionary, derived from
datadict.db (which stays untouched, read-only input).

Schema: Categories → Groups → UI_DataItems

  • Groups — one per entity (the Name prefix). The 43 transient
    wizard/junction entities collapse into a single Wizard group; gs1 is
    kept as its own group. 120 groups total. CategoryID lives on Groups
    (each group is one category; multi-category gs1/Wizard use their modal
    category). Column is Groupname (not the reserved word Group).
  • UI_DataItemsName reduced to the field (Wizard items keep the full
    source path). All items UTF-8 with an implied DataType:
    • CharLength by policy (declared VARCHAR length else 255; types otherwise),
    • ByteLength = CharLength * 4 (UTF-8 worst case),
    • ValidationSpecs = the source mask (e.g. GS1 N18,csum,gcppos2) when
      present, else generated from type / allowed values / scale.

Verification

  • 12 categories / 120 groups / 3,688 items; all FK integrity clean.
  • ByteLength = CharLength*4: 0 violations; ValidationSpecs on 3,681/3,688
    (7 blanks are BLOB).
  • tools/build_ui_dict.py is idempotent (rebuilds ui_datadict.db +
    ui_datadict.sql from scratch).

CHANGELOG [Unreleased] updated.

🤖 Generated with Claude Code

Derive a UI / resource-governance database from datadict.db (read-only input):
- Categories -> Groups -> UI_DataItems (3-level hierarchy).
- Group = entity (Name's prefix); the 43 transient wizard/junction entities
  collapse into one `Wizard` group; gs1 kept as its own group. 120 groups.
- UI_DataItems.Name reduced to the field (Wizard keeps full path). All items
  UTF-8 with implied DataType; CharLength per default policy; ByteLength =
  CharLength*4; ValidationSpecs = source mask (GS1) or generated from
  type/allowed-values/scale. CategoryID lives on Groups (modal for gs1/Wizard).
- Idempotent: rebuilt from scratch each run. 12 cats / 120 groups / 3688 items.

CHANGELOG [Unreleased] updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cloud3000 cloud3000 merged commit fcd8c47 into main Jun 28, 2026
1 check passed
@cloud3000 cloud3000 deleted the ui-dict branch June 28, 2026 06:12
cloud3000 added a commit that referenced this pull request Jun 28, 2026
Note the UI/governance projection database and generator (#49).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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