Skip to content

What Oracle Is Shown

3 min read

Before Oracle can turn “high priority test cases in the Checkout folder” into a query, it has to know that your project has priorities, that it has folders, and that one of them is called Checkout. That picture is the only thing it is given.


Oracle is shown what your fields are called and the values they hold:

ShownExample
Folder namesCheckout · Login · Payments
Label namessmoke · regression · flaky
Team membersthe people on the project
Release and run titlesAugust release · Smoke run
Statuses and severitiesOpen · In Progress · Blocked
Custom fields and their optionsyour own dropdowns, by name

This is what makes your own words work. You do not translate “the Checkout folder” into an identifier, because Oracle already knows the folder exists.


It never receives the contents of a record. Not a test case title, not a step, not a defect description, not a comment, not an attachment.

The distinction is worth stating precisely, because it is easy to state too generously in either direction:

  • Oracle does see that you have a folder called Payments.
  • Oracle does not see a single test case that lives in it.

The picture is read from your project at the moment you ask, not from a copy made when the feature was set up.

A label you created this morning is askable this afternoon. A folder renamed an hour ago is asked for by its new name. A custom field added last week is available without anyone re-indexing anything.


Your permissions are applied to the picture, before your question is planned — not to the results afterwards.

That ordering is the whole security property. A role that cannot open Defects is not shown that defects exist, so:

  • it cannot ask about them,
  • and it cannot reach them sideways, through a condition that would read defects to answer a question about something else.

Test cases that have an open defect against them returns test cases, but it reads defects to get there. Without defect access, that question is not answerable rather than partially answered.


The shape of the query Oracle produces is generated from this same picture. A field your project does not have is not something Oracle is told to avoid — it is something the query cannot express.

The same goes for values. A status that is not one of yours cannot be asked for, and names are looked up rather than guessed: an unknown one comes back as a refusal, not as an empty table.


One call turns your question into a structured query. Everything after that — validating it, applying permissions, running it, and writing the explanation you read above the answer — happens with no model involved.

That is also why corrections are free. Removing a condition, sorting a column, asking for more rows or redrawing a chart re-runs the query you already have. Only a genuinely new question is planned again.