id: no-hand-rolled-plan-grid
language: tsx
severity: error
message: Plan/table components must compose DeckTable instead of defining table grids
note: '{"severity":"high","category":"componentization","resolution":"Use DeckTable and shared column definitions from @overdeck/deck-ui."}'
files:
  - 'apps/web/src/**'
  - 'packages/deck-ui/src/*Row.tsx'
  - 'packages/deck-ui/src/*Table.tsx'
  - '**/.slopgate/fixtures/**'
ignores:
  - '**/DeckTable.tsx'
  - '**/*.test.tsx'
rule:
  any:
    - all:
        - kind: property_identifier
        - regex: '^gridTemplateColumns$'
    - all:
        - kind: string
        - regex: 'grid-cols-\[[^\]]*_[^\]]*_'
