Skip to content

feat(node-ui): add shared context graph empty states#612

Merged
Jurij89 merged 5 commits into
mainfrom
codex/cgux-s9-m5-empty-stat-components
May 24, 2026
Merged

feat(node-ui): add shared context graph empty states#612
Jurij89 merged 5 commits into
mainfrom
codex/cgux-s9-m5-empty-stat-components

Conversation

@Jurij89
Copy link
Copy Markdown
Contributor

@Jurij89 Jurij89 commented May 24, 2026

Summary

  • Adds shared Context Graph EmptyState and StatStrip primitives for S9, with layer-aware tone support and reusable styling.
  • Replaces ad hoc empty/status panels and stats across Overview, layer views, graph/loading states, documents, VM hero, activity feed, query, assertions, and sub-graph overview where safe for this PR scope.
  • Implements the M5 interim Shared Working Memory Assertions empty state without changing the backend list path, so real rows still render when listAssertions(cg, 'swm') returns data.

Related

Files changed

File What
packages/node-ui/src/ui/views/project/primitives.tsx Adds shared EmptyState, StatStrip, and layer tone helpers.
packages/node-ui/src/ui/views/project/components.tsx Refits Context Graph empty states, status panels, stat rows, and SWM Assertions interim copy.
packages/node-ui/src/ui/components/ActivityFeed.tsx Uses the shared empty-state pattern for empty activity feeds.
packages/node-ui/src/ui/styles.css Adds shared empty/stat styling and removes old double-wrapper treatments where replaced.
packages/node-ui/test/context-graph-empty-stat-components.test.ts Covers shared primitives and WM/SWM Assertions empty/list behavior.
packages/node-ui/test/context-graph-contrast.test.ts Adds shared empty/stat text selectors to contrast coverage.
packages/node-ui/test/vm-hero-banner.test.ts Updates VM hero stat assertions for the shared StatStrip.

Test plan

  • pnpm --filter @origintrail-official/dkg-node-ui exec vitest run test/context-graph-empty-stat-components.test.ts test/vm-hero-banner.test.ts test/layer-graph-panel.test.ts test/context-graph-contrast.test.ts test/use-memory-entities-counts.test.ts test/ka-detail-label.test.ts test/project-view-navigation.test.ts test/ui-compat.test.ts
  • pnpm --filter @origintrail-official/dkg-node-ui run build
  • pnpm --filter @origintrail-official/dkg-node-ui run build:ui
  • git diff --check
  • Playwright smoke against http://127.0.0.1:5178/ui/: Context Graph Overview showed the shared StatStrip, empty activity used shared EmptyState, and Shared Memory > Assertions showed the M5 interim empty state.
  • Local PR review from pr-diff.patch: round 1 found two styling fidelity issues; round 2 returned {"comments":[]}.

Note: the local dev node emitted repeated API 500 console errors during browser smoke due its local data/API state. The UI still booted and the PR-specific Context Graph states rendered; this is not caused by this UI-only change.

Comment thread packages/node-ui/src/ui/components/ContextGraphPrimitives.tsx
Comment thread packages/node-ui/src/ui/components/ActivityFeed.tsx Outdated
Comment thread packages/node-ui/src/ui/styles.css
Comment thread packages/node-ui/src/ui/components/ContextGraphPrimitives.tsx Outdated
Comment thread packages/node-ui/src/ui/components/ContextGraphPrimitives.tsx Outdated
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codex review completed — no issues found.

gap: 16px;
}
.v10-vm-empty-state {
.v10-empty-state.v10-vm-empty-state {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Issue: This VM-specific override now has the same specificity as the shared .v10-empty-state / .v10-stat-strip rules that are declared later, so those later rules win for overlapping properties. In practice the Verified Memory hero falls back to the generic empty-state spacing/surface, and the new StatStrip container also loses the intended v10-vm-hero-stats sizing. Move the VM overrides below the shared primitive block or increase specificity (for example .v10-vm-hero .v10-empty-state.v10-vm-empty-state and .v10-stat-strip.v10-vm-hero-stats).

@Jurij89 Jurij89 merged commit c25818d into main May 24, 2026
35 checks passed
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