Skip to main content

Citations and evidence

Genie's citations follow one design rule: the tools, not the model, issue citation tokens. When a tool runs, the backend stores a record of what the tool returned and gives the model a token that names that record. If the model copies the token after a claim, the chat draws a numbered chip such as 1, and clicking the chip opens the stored record in the evidence panel.

This makes computed results and search records checkable from the chat. It does not make the agent's sentences correct. Read what a chip guarantees before relying on one.

Tokens​

A citation token has the form:

[[cite:<citationId>]]

The id starts with cite_ and contains only letters, digits, underscores and hyphens, for example cite_project_c7bb7f985139_genome_call_peaks_ed3319c2 or cite_project_c7bb7f985139_public_data_ENCFF381NDD. Region and computation ids end in a random suffix, so each call gets a new record. ENCODE file records are named after the project and the file accession, so the same file found again in a project keeps the same id.

A tool returns its token as citationToken, together with citationInstructions such as "To cite this evidence, copy [[cite:...]] exactly after the supported claim." The Genome-mode and Analysis-mode instructions tell the agent to use only returned tokens, to place them right after the claim, never to invent them, and to mark uncited claims as uncited. The Asset import instructions say only to use a returned token for claims grounded in the inspected source and never to invent tokens.

Which tools issue citations​

Source typeIssued byThe record holdsEvidence panel labelOpen source opens
genome-regiongenome_get_current_region, genome_navigate, genome_describe_viewportThe locus only; title "Visible genome region (<genome>)"Genome region(no link)
genome-computationgenome_signal_stats, genome_call_peaks, genome_quantify_at_features, genome_correlate_tracksThe tool's result JSON, up to 1,800 characters; title such as "Genome call peaks result"EvidenceThe BED or TSV result file, where one was written
public-data-searchpublic_data_search (one per search)The normalized query, number of candidates, relaxationsEvidenceThe ENCODE search page
public-data-filepublic_data_search (one per candidate)Accession, experiment, assay, target, biosample, assembly, output type; location is the download URLEvidenceThe ENCODE file page
asset-catalogproject_list_assetsNumber of assets and up to 20 asset titles and locationsAsset catalog(no link)
asset / remote-sourceproject_list_assets, project_read_assetThe asset's description or location, or a text preview with its line rangeProject asset / Remote sourceThe asset
studio-outputproject_read_analysis_planThe plan text, up to 1,800 charactersEvidenceThe saved Studio output

These tools issue no citation: genome_add_track, genome_list_tracks, genome_list_assemblies, create_html_artifact, and the asset update, inspect, import and write tools. The runtime's built-in tools (shell, web search, MCP) never issue Genie citations.

A computation tool that refuses a request (for example over the 5 Mb limit) returns a failure object, and that object still gets a computation citation whose excerpt is the failure. A tool that throws an error (for example "Track '...' was not found.") gets no citation.

Lifecycle of a citation​

  1. The tool runs and the backend builds the record from its result.
  2. The record is stored in the chat's citations.json (in projects/<projectId>/sessions/<sessionId>/, schema version 1), and the token is added to the tool result the model receives.
  3. The model writes the token into its answer, or does not.
  4. The chat resolves the token. It finds tokens with the pattern \[\[cite:([a-zA-Z0-9_-]+)\]\] and looks the id up among the chat's stored records and the tool results in the conversation. A known id becomes a numbered chip; an unknown id, such as one the model invented, stays as raw [[cite:...]] text.
  5. Numbering restarts in each message. The first distinct token in a message is [1], the next [2], and a token repeated in the same message keeps its number.

When you reopen a chat, its records are reattached from citations.json, so chips in earlier answers still open.

Hovering over a chip shows the record's title, file name and locus where they exist.

The evidence panel​

Clicking a chip opens a modal Citation evidence panel with:

  • the source-type label (for example "Genome region" or "Evidence"), the record's title and its location (the locus, result file or download URL);
  • tiles for the Token, the Asset id (asset records), the line Range (text previews, for example "Lines 1-40") and the Genome;
  • the Evidence Excerpt, or "This citation points to source metadata. Inspect the source for deeper content." when the record has no excerpt;
  • an Open source link where the record has a URL, and Close.

Clicking a region chip does not move the browser; the panel only shows the locus.

What a chip guarantees, and what it does not​

A chip guarantees that the token resolves to a record a Genie tool created in that chat. It shows which record a claim points to, not that the sentence is correct: a resolving citation is not a supporting citation.

A chip does not guarantee that:

  • the sentence is supported by the record. The check confirms only that the agent copied a token a tool issued. The agent can attach a correct token to an incorrect or over-reaching sentence.
  • every claim has a token. Uncited text is not blocked. The instructions ask the agent to mark uncited claims, but nothing enforces it.
  • the record contains the number in the sentence. Viewport statistics are cited to a region record that holds only the locus. In both demonstration answers, the chip placed after the viewport statistics opened such a record.

So open the chips, compare each with the sentence it follows, and read the tool cards for numbers whose chip points to a region.

Example: the MYC demonstration​

The last prompt of the MYC demonstration was "Summarize what we found in a short paragraph, citing each claim, and propose one testable next hypothesis." The answer carried four chips.

The MYC demonstration&#39;s final answer, with chips 1 to 4 after the region, the ENCODE file, the signal mean and maximum, and the peak calls

The final answer of the MYC demonstration with chips [1] to [4].

ChipFollowsOpens
1"In the 60-kb hg38 region chr8:127,700,000–127,760,000"A region record holding the locus
2The ENCODE file ENCFF381NDD, a K562 H3K27ac fold-change-over-control trackThe public-data-file record for ENCFF381NDD
3"Signal averaged 1.14 and reached 19.96, with 100% reported coverage"A region record holding the locus, not the mean or maximum
4"7 peaks at a signal cutoff of 8.79 ... exploratory threshold calls"The peak caller's result JSON

Chip [2] opens the stored ENCODE record. The excerpt shows the accession, the experiment ENCSR000AKP, the assay, target, biosample, assembly and output type; Open source goes to the ENCODE file page.

Evidence panel for chip 2: title &quot;H3K27ac · K562 · GRCh38 · ENCFF381NDD&quot;, the download URL, the token and an excerpt with accession, experiment, assay, target, biosample, assembly and output type

Chip [2]: the public-data-file record for ENCFF381NDD.

Chip [4] opens the computation record of genome_call_peaks. The excerpt shows the method, the absolute cutoff in threshold (8.791333735783212), minWidth, the method note, peakCount 7 and the result BED file; Open source opens that file.

Evidence panel for chip 4: title &quot;Genome call peaks result&quot;, the result BED path, the token, the genome hg38 and the result JSON

Chip [4]: the computation record of the peak call.

The chips check out as records, and the records show what the tools did. They do not settle the interpretation. The "7 peaks" are 7 intervals within about 1.4 kb (one region at 1 kb grouping), and chip [3] holds no numbers. The agent named no gene; the intervals lie on the MYC promoter and 5' end, which makes this promoter H3K27ac, not an enhancer finding. The proposed ATAC-seq hypothesis is the model's own and was not tested in the session.

Known issues​

  • Region-only citations for viewport statistics. See above. For a citable record of the numbers, ask for genome_signal_stats over the viewport.
  • Raw tokens in saved reports. Tokens the agent writes into a Studio output or an HTML artifact are not turned into chips; a saved Report can show raw [[cite:...]] text.
  • Coarse records. A computation record holds the whole result JSON, clamped to 1,800 characters, rather than the single value a sentence uses.

See also Measurements, Public data search and Limitations and known issues.