id: no-raw-table
language: tsx
severity: error
message: Raw table markup must use DataTable
note: '{"severity":"high","category":"componentization","resolution":"Use DataTable from @platform-modules/ui-primitives. DiffViewer.tsx alone may use semantic table markup to preserve paired old/new code-line alignment."}'
files:
  - 'apps/web/src/**'
  - 'packages/deck-ui/src/**'
  - '**/.slopgate/fixtures/**'
ignores:
  - '**/DiffViewer.tsx'
  - '**/*.test.tsx'
rule:
  all:
    - kind: jsx_opening_element
    - regex: '^<table(?:\s|>)'
