Glassworks
{{ engagement.db }}
{{ engagement.sub }}
Engagements
{{ e.db }} {{ e.spend }}
{{ e.title }}
{{ e.tables }} tables{{ e.rowsLabel }}{{ e.activity }}
+ New engagement connect a database
{{ running.id }} · live
{{ running.stage }}
{{ running.cost }}
{{ engagement.spend }}
engagement spend
{{ user.initials }}
{{ user.name }}
{{ user.email }}
{{ user.org }} · {{ user.role }}
spend {{ user.spend }} {{ user.period }}
{{ i.label }} {{ i.meta }}
Sign out
← questions ⎘ audit log
{{ run.id }} {{ run.state }}

{{ run.text }}

{{ s.value }}
{{ s.label }}
live {{ run.liveStatus }}
{{ transport.playLabel }} restart
{{ s.label }}
↓ follow live
{{ transport.clock }}
{{ tb.label }}
● {{ framing.stage }}
{{ framing.note }}
Reasoning
{{ rs.chevron }} {{ rs.title }} ● live
{{ rs.preview }}
{{ rb.label }}
{{ rb.text }}
{{ ri.head }} — {{ ri.detail }}
{{ rs.raw }}
{{ framing.expect }}
Scope — tables selected
{{ t.name }}
Research plan — {{ framing.facets.length }} facets to compute
{{ f.n }}
{{ f.facet }}
{{ f.measure }}
{{ b.id }} {{ b.intent }} {{ b.status }} {{ b.elapsed }}
{{ b.sql }}
{{ col.v }}
{{ cell.v }}
{{ b.rowNote }}
0 rows · result the query ran and returned no rows — that absence is the finding, not an error
blocked {{ b.blockNote }}
{{ b.reaction }}
reading {{ b.rowCount }} rows
Round {{ b.n }} {{ b.plan }}
{{ b.verdict }} round {{ b.n }} closed · {{ b.meta }}
Established
{{ k.text }}
Open
? {{ o.text }}
{{ b.synthesis }}
Working definition
{{ b.definition }}
{{ b.sql }}
{{ b.note }}
Record trace {{ b.entity }} · {{ b.nRows }} rows · unaggregated · action_date asc
{{ b.ratio }}
obligation ÷ mod sum
{{ b.headline }}
{{ col.v }}
{{ cell.v }}
{{ b.verdict }}
{{ b.label }} {{ b.grade }} {{ b.meta }}
{{ b.claim }}
{{ p.text }}
{{ p.value }} {{ p.text }} ↑ {{ p.ref }}
Correction
{{ p.text }}
not determined {{ p.text }}
{{ tail }}
Ask {{ askNote }}

{{ engagement.title }}

{{ engagement.line }}
{{ s.value }}
{{ s.label }}
Engagement state
{{ p.figure }} {{ p.stage }}
{{ p.detail }}
Questions {{ questionsMeta }}
{{ f.label }}
id question
state progress cost date
No questions yet
{{ emptyBody }}
{{ s.text }}
Established at mapping
{{ e.value }} {{ e.label }}
read the map →
{{ q.id }}
{{ q.text }}
{{ q.claim }}
{{ q.liveNote }}
{{ q.state }}
{{ q.progress }}
{{ q.cost }} {{ q.date }}
Preliminary observations {{ q.obsMeta }}
Export PDF Open testing →
{{ o.id }} {{ o.grade }} evidence {{ o.refs }}
{{ o.title }}
{{ b.text }}
{{ b.value }} {{ b.label }}
{{ b.caption }}
{{ col.v }}
{{ cell.v }}
{{ b.caption }}
{{ r.label }} {{ r.display }}
{{ b.caption }}
{{ c.label }}
{{ l.label }}
{{ b.text }}
{{ engagement.db }} · duckdb {{ engagement.mapLine }} {{ engagement.factLine }}
glassworks · build 2026.08.14
{{ c.short }} {{ c.count }}

{{ summary.title }}

{{ m.k }} {{ m.v }}
{{ s.value }}
{{ s.label }}
Provenance {{ l.label }} {{ l.text }}
{{ remap.headline }}
Entity relationships {{ erd.note }}
{{ s.label }}
{{ l.label }}
{{ erd.foot }}
What the map knows
{{ b.label }} {{ b.count }}
{{ b.text }}
{{ know.foot }}
Shape {{ shape.note }}
{{ r.label }} {{ r.text }} {{ r.count }}
{{ shape.foot }}
How this map was built
{{ m.k }} {{ m.v }}
Read these first {{ sharp.note }}
All {{ sharp.total }} traps →
{{ s.kind }} {{ s.table }}
{{ s.headline }}
{{ s.found }}
What questions taught the map {{ grew.note }}
{{ grew.from }} {{ grew.to }}
{{ a.kind }} {{ a.tbl }} {{ a.text }} {{ a.from }}
Tables {{ rail.foot }}
{{ tbl.name }} {{ tbl.role }} {{ tbl.meta }}
{{ tbl.oneRow }}
{{ c.value }} {{ c.label }}
Data trap {{ tbl.trapKind }} {{ tbl.trapFound }}
{{ tbl.trapText }}
{{ fg.k }} {{ fg.v }}
Columns {{ tbl.colNote }}
column type what it means
{{ c.name }} {{ c.keyLabel }} {{ c.type }}
{{ c.meaning }}
{{ c.trap }}
What it joins to {{ tbl.joinNote }} Join graph →
{{ j.otherTable }} {{ j.on }} {{ j.containment }} {{ j.tier }} proof
{{ j.note }}
{{ j.sql }}
{{ j.evidence }}
Claims every one carries the SQL that established it
{{ c.status }} {{ c.text }} {{ c.from }}
{{ c.sql }}
What questions changed here {{ tbl.amendNote }}
{{ a.kind }} {{ a.col }} {{ a.at }} · {{ a.from }}
{{ a.text }}
before {{ a.prior }} inherited {{ a.effect }}
Still open {{ tbl.openNote }}
? {{ o.text }}
Joins {{ joins.note }}
{{ tg.label }} {{ tg.total }} {{ tg.text }} {{ tg.shown }}
{{ j.leftTable }} {{ j.leftCol }} {{ j.arrow }} {{ j.rightTable }} {{ j.rightCol }} {{ j.containment }} {{ j.score }} {{ j.short }} {{ j.action }}
{{ j.note }}
{{ j.sql }}
{{ j.evidence }} {{ j.leftTable }} → {{ j.rightTable }} →
Trap register
{{ traps.lede }}
{{ traps.total }}
{{ k.kind }} {{ k.count }} {{ k.gloss }} {{ k.shown }}
{{ t.table }} {{ t.column }} found by {{ t.found }}
{{ t.headline }}
{{ fg.k }} {{ fg.v }}
{{ engagement.db }} · duckdb {{ engagement.mapLine }} {{ engagement.factLine }}
glassworks · build 2026.08.14
Loading the map…
Glassworks
Sign in
Username
Password Forgot
{{ login.error }}
or
{{ login.note }}
glassworks · build 2026.08.14
Support Terms
Audit trail prompts · model responses · queries · stages · crashes {{ auditStatus }}
{{ auditDownloadLabel }}
↓ FULL AUDIT — {{ auditFullSize }} (everything)
or download portions
{{ row.mark }} {{ row.label }} {{ row.size }}
all none {{ auditSelLabel }}
close ✕
{{ ab.text }}