Skip to main content

Ecosystem

Eleven implementations read or write .curt today. All are same-author (JordanNewell); third-party implementations are invited — the conformance vectors exist so a claim from anyone can be checked in minutes. Per-consumer detail (dependency style, spec revision, conformance drift) lives in CAPABILITIES.md and its machine-readable twin capabilities.json — rendered for humans, at build time, on the Ecosystem status page.

In (11)​

ImplementationRoleRead/Write
curtis (Obsidian plugin)import / export / backupR + W
curt-openwithdouble-click any .curt file — offline viewerR
curtis-ai-porterconverter + verify oracleR + W
curtis-web (private)export endpointW
curtis-cloud (@curtisai/shared)shared libraryR + W
curtis-ai-techembedded converter + docsR + W
tractumPython SDK — signed consensus receiptsR + W
curt-vcon.curt ⇄ vCon (IETF) bridgeR + W
curt-convertClaude Code transcripts → .curtW
curt-wildchatWildChat-1M records → .curtW
curt-openwebui (local, unpublished)Open WebUI exporterW

Out (8, no .curt code)​

curtis-compliance, curtis-console, curtis-os, curtis-ai-chat-zed, curtis-ai-symphony, curtis-ai-crm, curtis-ai-browser, curtis-ai-theme. Out-of-ecosystem repos need one grep to confirm still-out.

Capability matrix​

Condensed from CAPABILITIES.md (full sweep 2026-10-14, addendum 2026-11-01):

ConsumerDependencyBOM toleranceStrict rejectUnknown fields RTcurtFilenameConformance
dot_curt (curt-format@1.2.0)— (reference)yesyesyesyesref = L1–L4
curt-openwithhand-rolled portyesyesyesnonot audited
curtis pluginvendored copynoyespartialdivergentfails L1 (see tracker)
curtis-ai-portervendored oracleincidentalyestop-level droppeddivergentfails L1 (see tracker)
curtis-webhand-rolledn/a (W only)n/ayes on writedivergentwriter only
curtis-cloudvendored mirrornoshallowpartialabsentfails L1 (see tracker)
curtis-ai-techinline copyincidentalyesyesdivergentfails L1 (see tracker)
tractumnative (own validator)rejects BOMyesyesn/a (dicts)vectors not run
curt-vconnpm curt-formatvia refvia refn/a (bridge)novectors not run
curt-convertnpm curt-formatn/a (W only)self-check via refwriter extrasyesvectors not run
curt-wildchatnpm curt-formatn/a (W only)self-check via refwriter extrasyesL3 artifact run
curt-openwebuinpm curt-format (TS) / hand-rolled (Py)TS via ref / n/a PyTS self-check / shallow Pywriter extrasyes (both)vectors not run

The trend the matrix records: the newest three writers depend on the curt-format package instead of vendoring the rules, and they are the first to use the spec's curtFilename algorithm — the two fixes the original audit ranked highest.

The tool suite​

These pages are high-level overviews; deep-dives (field-mapping tables, loss ledgers, packaging internals) live in each tool's repo.