---
title: Surface and suppress incompatible data-view column play params (client UX)
type: task
status: draft
description: >-
  Client-side completion of the server-side play-param strip: suppress mutually-exclusive play
  params in the column param picker, hide stale filter chips at display time, and surface a
  self-contradiction notice via the existing data-view-notices rule engine. Requires a client-side
  scope signal (or a server-returned stripped-params field). Follow-up to the server-side strip
  task.
base_uri: user:task/league/surface-incompatible-data-view-column-params-client-ux.md
created_at: '2026-06-17T05:35:04.661Z'
entity_id: 415f6c89-ad4e-45de-998c-5593bfb2bf0e
observations:
  - ████████████████████████████████████████████████
owner_identity_uri: █████████████████████████
priority: Low
public_read: true
relations:
  - blocked_by [[user:task/league/scope-play-type-params-to-compatible-data-view-columns.md]]
  - relates [[████████████████████-████-████-██████-██████████████-███-██████-████████]]
  - relates [[user:task/league/refactor-data-view-from-plays-measure-first-rate-types.md]]
tags:
  - user:tag/league-xo-football.md
updated_at: '2026-09-11T19:57:30.622Z'
visibility_analyzed_at: '2026-11-05T23:50:32.009Z'
---

# Follow-up: client UX for incompatible data-view column play params

This is the client-side completion of the server-side strip shipped in [[user:task/league/scope-play-type-params-to-compatible-data-view-columns.md]]. The server strip makes columns return correct data, but the picker still offers incompatible params and a stale filter chip can persist with no user signal.

Scope (to be planned):

- Suppress incompatible play params in the column param picker at display time (NOT by removing from column_params — that orphans existing values; see the server task's Notes).
- Hide or annotate a filter chip whose param the server stripped.
- Add a self-contradiction rule to app/core/data-views/data-view-notices.mjs. The notice engine (shipped in ████████████████████████████████████████████████████, Completed) concatenates inline rule functions, so this is a small addition — but it needs a client-side scope signal. Cheapest enabler: have get-data-view-results return which params it stripped (response metadata) and surface that, avoiding duplicating pid-scope logic on the client.

Blocked-by: the server-side strip task (establishes the scope derivation and the stripped-params signal).
