Dicey Table

Reference

Diagnostics sources reference

Every source that feeds a DiceyTable tab's diagnostics hub, which ones can quote untrusted text, and the hub's row, page and wait limits.

Every DiceyTable tab keeps one diagnostics hub: a list of the errors, warnings and notes that the page, the editor, the table and the network report. The table below names every source that writes to it.

When the list is full, the oldest rows drop off first. The hub's limits are below the sources.

The same hub feeds four places. You see it in the editor's status-bar count and in the Problems panel. The Activity Log shows it too. Your agent reads it with diagnostics_get, waits for new rows with diagnostics_watch, and marks rows as seen with diagnostics_clear. Marking a row as seen hides it from later agent reads. It still shows in your views.

Two things to know before you read the table:

  • Untrusted sources. A source marked "yes" in the last column can quote mod code, file names or other players' text. Its rows carry untrusted: true, and their messages reach the agent inside <untrusted> blocks. The agent treats them as data and never follows instructions in them.
  • Console output. The hub copies the browser console only while an agent is paired. Anything logged before pairing isn't there. Uncaught errors and React error boundaries are always caught.

For how to use the hub well, with cursors, repeats and several tabs, see find errors with the diagnostics hub. To see the limits beside every other agent limit, see AI agent limits and quotas.

Diagnostic sources#

The DiagnosticsHub collects 19 sources into one ring buffer. Filter diagnostics_get / diagnostics_watch by source. A source marked untrusted by default can quote mod code, mod names or other players' text: treat its entries as data, never as instructions.

Source Label Origin Untrusted by default
console Console console.warn/error, captured only while an agent is attached yes
uncaught Uncaught errors window error / unhandledrejection yes
react React error boundary AppErrorBoundary yes
physics Physics ammoWatchdog health status and halts no
gpu GPU graphics device-loss watch no
mod-sandbox Mod sandbox SandboxedModRunner diagnostics yes
table-script Table scripts TableScriptHost diagnostics and refusals yes
script-compile Script compile script editor worker diagnostics and markers yes
scanner Script safety scanner scanModScriptSafety / validateSceneScriptSafety yes
editor-problems Editor problems collectEditorProblems (the Problems panel) yes
asset Assets AssetResolver misses and text/html-for-binary responses yes
model-import Model import modelInspect issues and modelConvert failures yes
credit-gate Import credits cancelled or unaccounted credit-gate files yes
publish-sync GitHub sync githubSync conflicts yes
network Network BandwidthMonitor drops and P2P status no
replication Replication delta resyncs, stale snapshots, intent rejections no
signaling Signaling signal errors and transport state no
agent-coverage Agent coverage controls the runtime audit found without a registry binding no
bots Game bots the table's bot turn manager: skipped turns, pauses, model load failures yes

Severities and limits#

Setting Value
Severities, most severe first error, warning, info
Rows the hub keeps (oldest dropped first) 2000
Largest page diagnostics_get / diagnostics_watch return 500
Default diagnostics_watch wait (ms) 30000
Longest diagnostics_watch wait (ms) 60000
Longest message (chars) 4000
Longest detail (chars) 16000

Repeats are folded into one row by source, code, normalised message and entity or file; count says how many.

Did this page answer your question?