Skip to content

Defect: NV-002: Text schema unknown() is accepted as generated data instead of rejected #6

Description

@eviltester

Parent testing issue: #1

Source defect report: https://github.com/eviltester/anywaydata-ai-testing/blob/main/docs/testing/20260625/issue-230-001/defects/NV-002-text-schema-unknown-call-accepted.md
Testing artifact folder: https://github.com/eviltester/anywaydata-ai-testing/tree/main/docs/testing/20260625/issue-230-001
Original grid-table-editor story: eviltester/grid-table-editor#230
Original grid-table-editor PR: eviltester/grid-table-editor#247

The detailed defect report from the testing artifact is copied below.


NV-002: Text schema unknown() is accepted as generated data instead of rejected

Severity: Low/Medium

Status: confirmed in negative-validation lane.

Environment

  • URL: https://eviltester.github.io/grid-table-editor/app.html
  • Test environment branch/commit: codex/230-method-picker-mvc / 04570e0e428d
  • Evidence: ../logs/negative-validation-test-log.md, ../support/negative-validation-observations.json, ../screenshots/negative-14-text-unknown-busy.png

Steps to Reproduce

  1. Open the deployed app and expand Test Data.
  2. Switch schema editing to text mode.
  3. Enter a schema with column Mystery and rule unknown().
  4. Click Generate.

Expected Result

A method-like unknown function call should be rejected with a clear validation message, or the docs should clearly state that unknown function-like text is intentionally treated as literal data.

Actual Result

The schema generated a row with value unknown, making the malformed function-like call look accepted rather than invalid.

Triage Decision

This is due to the autotyping of a value - and in edit as text mode, when you click preview or generate, you don't see the interpreted schema which has moved to regex(mustry()) - and when we switch from a regex in ui schema to text edit schema we render it as mustry() not regex(mustry()) - in the same way that we re-render the raw csv for an enum to be enum(1,2,3,4)

Let's start rendering regex in the edit as text schema as regex(mustry()) and when the Edit as Text view is open, we should refresh it to show the interpreted version of the schema, not the raw schema - this way, when an action is taken, the text schema shows the actual schema interpreted and it is obvious that the function has been interpreted as a regex and not as an invalid function.

Docs should make clearer how the schema text interpretation is done so that this is obvious.

Notes

This may be a parser ambiguity rather than a method-picker regression, but it matters because issue 230 surfaces richer method names and examples; malformed method-like text should not silently pass as generated data without clear intent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions