Skip to content

CI: build + validate ui_datadict.db#51

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

CI: build + validate ui_datadict.db#51
cloud3000 merged 1 commit into
mainfrom
ci-ui-checks

Conversation

@cloud3000

Copy link
Copy Markdown
Owner

Extends CI to keep the UI projection honest.

  • build.yml — new "Build UI projection" step runs tools/build_ui_dict.py
    (rebuilds ui_datadict.db from the committed datadict.db) before the
    invariant gate.
  • tools/ci_check.py — adds UI invariants:
    • projection completeness: ui_items == datadict_items (nothing dropped)
    • no orphan groups; every group resolves to a category
    • ByteLength == CharLength * 4 (the governance rule)
    • CharLength positive (no null/zero)
    • unique (GroupID, Name)

Verified: passes green locally, and a deliberately corrupted ByteLength
correctly fails (exit 1). CHANGELOG [Unreleased] updated.

🤖 Generated with Claude Code

- build.yml: add a "Build UI projection" step (rebuilds ui_datadict.db from the
  committed datadict before the invariant gate).
- ci_check.py: add UI invariants — projection completeness (ui items ==
  datadict items), no orphan groups, every group has a category,
  ByteLength == CharLength*4, positive CharLength, unique (GroupID, Name).

Verified locally: passes green, and a deliberately corrupted ByteLength fails
the check (exit 1). CHANGELOG [Unreleased] updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cloud3000 cloud3000 merged commit 13819f8 into main Jun 28, 2026
1 check passed
@cloud3000 cloud3000 deleted the ci-ui-checks branch June 28, 2026 06:17
cloud3000 added a commit that referenced this pull request Jun 28, 2026
Note the CI extension that rebuilds and validates the UI projection (#51).

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