WASM Capability Matrix

What runs in the shared Rust WASM core, and how far each capability is wired.

"Rust core" = shared crate (qntx-core, qntx-id). "browser.rs" = #[wasm_bindgen] exports. "TS wrapper" = web/ts/qntx-wasm.ts. "UI wired" = used by a glyph or component. Each column is a step in the pipeline — capabilities progress left to right.

Fully wired (browser + server)

CapabilityRust corebrowser.rsTS wrapperUI wired
Query parsingYesYesYesYes
Attestation CRUDYesYes (IndexedDB)YesYes (ax-glyph, ts-glyph)
Fuzzy searchYesYesYesYes
Identity (ASUID)YesYesYesYes (ts-glyph)
Rich text searchYesYesYesYes
Cosine similarityYesYesYesYes

In Rust, partially wired

CapabilityRust corebrowser.rsTS wrapperUI wired
ClassificationYesYesNoNo
Merkle syncYesYesNoNo
Cartesian expansionYesNoNoNo
Claim grouping/dedupYesNoNoNo

Go-only (candidates for migration)

These are currently implemented in Go. Moving them to Rust would let the browser use them offline.

CapabilityGo packageLinesPure?Browser benefit
Alias resolutionats/alias/117YesExpand queries locally without server
Attribute schemaats/attrs/402YesSchema validation for glyph rendering
Graph normalizationgraph/helpers.go150YesConsistent node IDs in browser graph viz
Conflict detectionats/ax/conflicts.go~300YesPreview conflicts before submitting
SO parsingats/so/~3,191MostlyPreview "so prompt" / "so csv" actions
Entity resolutionats/ix/~900MostlyDedup and match entities offline

Server-only (not moving)

CapabilityWhy
Pulse schedulingJob orchestration, goroutines, database-bound
EmbeddingsExternal model I/O, Rust FFI
Sync protocolWebSocket-bound, budget/quota coordination