Skip to content

Data Schematic: add visual cues denoting agent/machine/human produced/curated/verified data #4474

Open

Description

@jqnatividad

Have a subtle, tasteful visual hint (emoji? color hints? hover text?) for users to easily identify:

  • deterministic, computed data
  • deterministic and human-verified/approved data
  • AI-generated data
  • AI-generated, but human-verified/approved data
  • AI-generated, and adversarially reviewed by another AI data
  • Human-generated data

cc @avdata99

Activity

  1. changed the title [-]Data Schematic: add visual cues denoting agent/human produced data[/-] [+]Data Schematic: add visual cues denoting agent/machine/human produced/curated/verified data[/+] on Aug 21, 2026
  2. jqnatividad commented on Aug 27, 2026

    @jqnatividad
    CollaboratorAuthor

    Investigation notes: current state & suggested shape

    What exists today

    Provenance in the Data Schematic is document-level only, never per-field:

    • x-qsv.generated_by — describegpt bakes a full attribution block into the schema (tool+version, command line, model, API URL, language, timestamp). viz renders it in three places: the dictionary drawer footer, the page footer, and the tour's meta panel (Model: line).
    • WARNING lines — describegpt appends per-prompt-type warnings ("Label and Description generated by an LLM… Verify before using!"). That's the closest thing to an "AI-generated" cue, and it's a blunt block of text, not a per-datum hint.
    • x-qsv.tour.generated_by — same convention on the tour envelope.

    Mapping the six categories onto current reality

    Category Today
    1. Deterministic computed Everything from the stats cache: chart geometry, types, cardinality, min/max, the self-inferred dictionary fallback. Implicitly computed — no marker.
    2. Deterministic + human-verified No mechanism.
    3. AI-generated describegpt's title / description / x-qsv.tags / content_type / tour narration. Only detectable by the presence of generated_by.
    4. AI + human-verified No mechanism. A human editing an LLM dictionary leaves no trace (viz deliberately tolerates hand-edited sidecars and re-validates on read).
    5. AI + adversarial AI review No mechanism. Closest is --two-pass DictionaryRefine, but that's same-model cross-field refinement, not adversarial review — and it re-emits as PromptType::Dictionary, erasing even that distinction.
    6. Human-generated A hand-written dictionary — detectable only by the absence of a describegpt attribution block.

    Categories 2, 4, 5 need a new schema contract; 1, 3, 6 are inferable today from what's already stored.

    Suggested shape (two phases)

    Phase 1 — no schema change, inference only. viz can already classify coarsely: dictionary text with generated_by present ⇒ AI (✨-class badge); absent ⇒ human/unknown (👤); stats-derived facts and self-inferred labels ⇒ computed (⚙️). Render as a small badge + hover tooltip (title / aria-label) in the dictionary drawer rows, KPI tile corners, panel subtitles, and tour popovers, with a legend next to the existing attribution footer. This covers 3 of the 6 categories and establishes the visual language.

    Phase 2 — explicit x-qsv.provenance contract, per-property (and on the tour envelope), loosely aligned with W3C PROV vocabulary for portal interop (relevant to the CKAN/DCAT angle):

    "x-qsv": { "provenance": { "source": "ai", "verified": "human",
               "model": "gemma-3", "verified_at": "2026-08-27T…" } }
    • describegpt stamps source: "ai" on what it authors
    • a future --review-model (different model, adversarial prompt) could stamp verified: "ai"
    • human attestation via a hand edit or a small qsv schema helper

    This unlocks categories 2/4/5.

    Implementation considerations

    🤖 Generated with Claude Code

  3. jqnatividad commented on Sep 4, 2026

    @jqnatividad
    CollaboratorAuthor

    Also check DTPR for AI

    https://www.dtpr.ai/en

  4. added
    enhancementNew feature or request. Once marked with this label, its in the backlog.
    on Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    AIenhancementNew feature or request. Once marked with this label, its in the backlog.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions