An offline-first diagnostic atlas for programming languages, infrastructure, and GPU runtimes.
Tauri 2 | React | TypeScript | Rust | SQLite FTS5 | Python ingestion
Current desktop release: v1.0.0
| Destination | Link |
|---|---|
| GitHub repository | theworker02/lexicon-error |
| Windows releases | Download the latest desktop release |
| Hugging Face dataset | Magnexis/lexiconerror-diagnostics |
| Router Small | Magnexis/lexiconerror-router-small |
| Router Medium | Magnexis/lexiconerror-router-medium |
| Router Large | Magnexis/lexiconerror-router-large |
| GitHub Pages | LexiconError web preview |
LexiconError is a local-first desktop encyclopedia for compiler diagnostics, linter rules, runtime exceptions, configuration failures, and accelerator-runtime faults. It makes each error searchable alongside its root cause, minimum trigger, hardened repair, version context, source provenance, and conceptual equivalents in other ecosystems.
It is a reference system, not an execution environment. The application never executes the snippets it displays, collects telemetry, opens a localhost API, or uploads pasted diagnostic text.
Compiler and runtime documentation is usually organized around one language, one toolchain, or one release line. Real projects rarely stay inside those boundaries. A desktop application may involve TypeScript, a native build tool, SQL, Docker, a CI configuration, and a CUDA or ROCm workload at the same time. Searching each source independently makes it difficult to compare failure modes, preserve useful examples, or work without a network connection.
LexiconError provides one normalized local reference while retaining the distinctions that matter:
- Official diagnostic identifiers are kept separate from human-readable titles.
- Severity, frequency, and taxonomy tier are independent fields rather than one vague priority score.
- Curated entries and generated registry imports expose different verification states.
- Source provenance remains attached to the diagnostic instead of being discarded during ingestion.
- Triggering code and hardened code are stored side by side.
- Related diagnostics can connect comparable concepts across languages without pretending their runtime semantics are identical.
- The desktop application, portable SQLite index, Hugging Face dataset, and routing models are separate outputs built from the same normalized knowledge layer.
The result is useful as an offline encyclopedia, a source-aware search index, an ingestion project, a retrieval corpus, and a foundation for developer tooling.
Watch the 1120Ă—700 H.264 demo video
Open full-resolution screenshots
| Surface | What it provides |
|---|---|
| Command palette | Ctrl+K / Cmd+K instant offline search across codes, names, explanations, and language metadata. |
| Diagnostic catalog | FTS-ranked compact grid with language, category, severity, frequency, and interaction filters. |
| Inspector | Four interactive workspaces for root-cause analytics, frequency and domain graphs, trigger-versus-fix code, situational context, related diagnostics, state snapshots, and provenance. |
| Context matrix | Cross-language frequency view for comparing diagnostic domains. |
| Coverage dashboard | Database-derived counts, source coverage, verification state, examples, fixes, and release tier. |
| Local contributions | Validated JSON or Markdown/YAML frontmatter imports from a user-selected directory. |
| Backups and exports | Portable SQLite backup plus JSONL, JSON, CSV, coverage, and release-manifest exports. |
- Open the catalog or press
Ctrl+K/Cmd+Kfrom anywhere in the application. - Search with an official code such as
E0382, an exception such asKeyError, a message fragment, a language name, or a pasted diagnostic. - Narrow the local result set by ecosystem, category, severity, curated frequency, or interaction type.
- Inspect the root cause and the selected record's verification status before relying on its remediation.
- Compare the trigger and hardened examples in the remediation workspace.
- Review situational conditions, related cross-language diagnostics, and any curated failure-state snapshot.
- Follow the official source link when current upstream behavior or version-specific accuracy matters.
The context matrix is useful when the starting point is a failure domain rather than an exact code. The coverage dashboard answers a different question: how complete and well sourced is each ecosystem in the current local release?
LexiconError deliberately avoids presenting invented real-world incident percentages. The inspector separates two kinds of information:
- Curated experience likelihood is an ordinal classification:
Common,Uncommon,Rare, orSituational. - Catalog distribution is computed from the local SQLite database and shows how many indexed records in the selected ecosystem belong to each frequency or failure-domain bucket.
Clicking a frequency bar applies that frequency while retaining the selected language. Clicking a failure-domain bar opens the corresponding ecosystem/category cohort. These controls query real indexed records; they are not static illustrations.
Frequency does not imply severity. A common compiler error can be harmless because it is rejected before execution, while a situational allocator or device fault may terminate a workload or corrupt state. Verification status is also separate: a record may be sourced from an official registry while its explanation and repair remain marked Needs Review.
Every renderer entry has this stable core:
id, language, code, category, severity, title, description,
bad_example, good_example, version_introduced, version_deprecated,
source_url/source_reference, tier, frequency, situational_context,
interaction_types, related_errors, state_snapshot
The normalized knowledge layer adds tool identity, canonical identifier, classifications, fingerprint, provenance, and verification state. Source_reference is a supported input alias and is normalized to source_url. The exact contribution schema is data/error-entry.schema.json.
| Tier | Scope | Examples |
|---|---|---|
| 1 | Surface and syntax | Delimiters, indentation, parser failures, basic type mismatches. |
| 2 | Logic and runtime | Null dereference, bounds checks, promise failures, argument validation. |
| 3 | Compiler, linker, and static analysis | Type resolution, missing symbols, lint rules, ABI, and build diagnostics. |
| 4 | Situational systems behavior | Undefined behavior, deadlocks, allocator/device failures, and architecture-specific faults. |
Frequency and severity remain independent: a rare device fault can be critical, while a common lint rule may be low impact.
The 2026.08 catalog contains 16,474 records across 44 languages and 45 tools.
Core coverage includes Python, JavaScript, TypeScript, C#, Java, C, C++, Go, Rust, Zig, Kotlin, Swift, Dart, PHP, Ruby, Elixir, Scala, Clojure, R, Lua, Bash, SQL, JSON, YAML, and related ecosystems.
The registry and runtime pipeline includes rustc and Clippy, Roslyn and .NET runtime, CPython, TypeScript, javac, Clang, Node.js, V8, SpiderMonkey, Go, Kotlin, SQLite, and R. Infrastructure and accelerator coverage includes Docker, Kubernetes, Terraform, PostgreSQL, MongoDB, Redis, GraphQL, CUDA, ROCm/HIP, Vulkan, and OpenCL where curated or staged.
Generated registry records remain Needs Review until an editor supplies source-backed explanation, reproducible trigger, repair guidance, and version context. Record volume never implies editorial verification.
React + TypeScript desktop UI
| validated Tauri IPC
Rust local application core
|
SQLite + FTS5 entries and knowledge metadata
|
Python source adapters -> normalization -> validation -> release index
The desktop application has no HTTP listener. Renderer calls are explicit, validated IPC commands; imported contribution files pass schema and backend validation before insertion.
assets/branding/ Original reusable LexiconError SVG mark
src/ React desktop interface
src-tauri/ Rust commands, SQLite setup, Tauri configuration
data/ Curated seed, review queues, schemas, knowledge profiles
ingestion/ Parsers, organizers, validators, release/export scripts
scripts/ Reproducible product-media capture utilities
contributions/ Example local contribution files
artifacts/ Generated release indexes, ignored by Git
hf/ Dataset and static Space publication packages
.github/ Funding, community, issue, PR, and validation configuration
- Node.js 20 or newer
- Rust stable
- Python 3.11 or newer
- Tauri 2 prerequisites for the target platform
npm.cmd install
npm.cmd run desktop:devnpm.cmd run check
npm.cmd run build
cargo test --manifest-path src-tauri\Cargo.tomlThe review manifest is the ordered input for a reproducible data build. Release data is stored in artifacts/, never Vite's disposable dist/ directory.
python ingestion\build_index.py --manifest data\review\manifest.json --output artifacts\lexicon-error-2026.08-reviewed.db
python ingestion\test_pipeline.py --database artifacts\lexicon-error-2026.08-reviewed.dbnpm.cmd run desktop:buildOn Windows this creates NSIS and MSI bundles under src-tauri/target/release/bundle/. Build on macOS or Linux to create their native bundles; the codebase is cross-platform, but release artifacts must be built for each target.
The stable Windows release produces:
| Artifact | Purpose |
|---|---|
LexiconError_1.0.0_x64-setup.exe |
Recommended interactive Windows x64 installer. |
LexiconError_1.0.0_x64_en-US.msi |
Windows Installer package for managed deployment. |
lexicon-error-2026.08-reviewed.db |
Portable SQLite/FTS5 reference index. |
The checksums, validation commands, limitations, and human-readable release notes are maintained in docs/releases/v1.0.0.md. Installers are not checked into the Git repository; they belong in the matching GitHub Release. The portable database is reproducibly generated under artifacts/ and is also excluded from ordinary source commits.
The application version is defined consistently in package.json, src-tauri/Cargo.toml, and src-tauri/tauri.conf.json. The desktop interface reads the packaged Tauri version at runtime, so the visible version badge reflects the executable rather than a screenshot-only label.
.\lexerror.cmd --database artifacts\lexicon-error-2026.08-reviewed.db coverage
.\lexerror.cmd --database artifacts\lexicon-error-2026.08-reviewed.db detect "error[E0382]: borrow of moved value"
.\lexerror.cmd --database artifacts\lexicon-error-2026.08-reviewed.db release-manifest --output artifacts\dataset-manifest.json
.\lexerror.cmd --database artifacts\lexicon-error-2026.08-reviewed.db export --format jsonl --output artifacts\lexicon-error.jsonlJSON, JSONL, and CSV exports retain stable IDs and normalized metadata. Paste detection is local-only and redacts secret-bearing lines and obvious local paths before matching.
Adapters in ingestion/sources transform a saved upstream snapshot or installed-tool output into the standardized entry format. Parsers do not perform network calls during normalization. The source lock records upstream URL, reference, retrieval timestamp, size, and SHA-256 hash.
The source registry includes license and redistribution guidance. The public corpus exports derived metadata only; it deliberately excludes raw source snapshots and local contribution directories. MDN-derived data retains page metadata rather than documentation bodies.
The original user-supplied root JSON files, including GPU records, remain unchanged. The organizer creates an auditable report that identifies canonical candidates, existing-diagnostic collisions, and source-less staging. See data/review/user-import-report.json.
Contributions may be JSON, JSONL, or Markdown with YAML frontmatter. Each contribution needs a stable identifier, real trigger, correction, and source provenance where available. Do not create one record for every variable-specific variation of the same diagnostic pattern.
python ingestion\validate_entries.py path\to\entry.json
python ingestion\organize_user_records.pySee CONTRIBUTING.md, contributions/example.md, and data/error-entry.schema.json. Local contributions remain local until an editor intentionally promotes them into a reviewed release.
The complete published dataset is available directly from Hugging Face:
The project also publishes a three-size diagnostic-routing model family and maintains a prepared static Space package:
- Magnexis/lexiconerror-diagnostics: 16,474 JSONL records, Dataset Card, source notices, schema, source lock, and SHA-256 release manifest.
- LexiconError Router model family: three CPU-friendly classifiers that predict language, category, and severity from pasted diagnostics. Choose Small (2.43M parameters), Medium (9.70M), or Large (21.88M).
- Static Space: a compute-free browser preview with an 80-record sample. It loads the full published corpus when its non-secret DATASET_URL variable is set.
The Hub repository uses the diagnostics configuration and exposes one catalog split named train. That split name follows Hugging Face dataset conventions; it does not mean the full catalog should be used blindly as a machine-learning training set.
Each JSONL row includes the stable renderer fields plus normalized metadata such as language/tool identity, canonical identifier, classifications, fingerprint, provenance, verification status, and source information. The package also includes:
- A Dataset Card describing intended and out-of-scope uses.
NOTICE.mdand composite licensing guidance.- The entry JSON Schema.
- A source snapshot lock with upstream references and hashes.
- A release manifest containing record counts and SHA-256 checksums.
- Derived metadata only; raw documentation bodies and local contribution directories are excluded.
Only 41 records in the current 2026.08 dataset are marked verified. The remaining generated registry records are valuable for identifiers, source discovery, grouping, and retrieval, but must not be represented as fully reviewed repair guidance.
Install the optional datasets package in a separate Python environment, then load the published configuration:
from datasets import load_dataset
dataset = load_dataset(
"Magnexis/lexiconerror-diagnostics",
"diagnostics",
split="train",
)
print(dataset.num_rows)
print(dataset.column_names)
print(dataset[0]["code"], dataset[0]["language"])Filter by verification state before using explanations or repairs in an accuracy-sensitive workflow:
verified = dataset.filter(
lambda row: row.get("verification_status") in {
"Official",
"Verified",
"Community Verified",
}
)The canonical public JSONL asset can also be downloaded without the datasets library:
https://huggingface.co/datasets/Magnexis/lexiconerror-diagnostics/resolve/main/data/diagnostics.jsonl
PowerShell example:
Invoke-WebRequest `
-Uri "https://huggingface.co/datasets/Magnexis/lexiconerror-diagnostics/resolve/main/data/diagnostics.jsonl" `
-OutFile "lexiconerror-diagnostics.jsonl"| Model | Parameters | Intended use |
|---|---|---|
| Small | 2.43M | Lowest memory and fastest CPU experiments. |
| Medium | 9.70M | Default balance for local routing and evaluation. |
| Large | 21.88M | Highest-capacity member of the published family. |
The routers predict language, category, and severity. They do not generate fixes, execute diagnostics, replace the desktop FTS index, or supersede official compiler documentation. Their joblib checkpoints use pickle semantics; verify SHA256SUMS.txt and load only packages from a trusted source.
Regenerate and validate both packages:
python ingestion\package_hf_dataset.py
python ingestion\test_hf_package.py --package hf\lexiconerror-diagnostics --space hf\lexiconerror-space
python modeling\train_family.py
python modeling\test_router.py
python -B modeling\test_family.py
python -B modeling\test_model_package.py --package artifacts\model\lexiconerror-router-mediumThe dataset and model intentionally declare license: other because the corpus has composite source terms. Review hf/lexiconerror-diagnostics/NOTICE.md, modeling/README.md, and hf/PUBLISHING.md before redistribution.
Confirm the Tauri 2 prerequisites for the host operating system before debugging application code. On Windows, verify that a supported Rust MSVC toolchain and WebView2 runtime are available. Run the frontend and Rust checks independently to determine which side is failing:
npm.cmd run check
cargo test --manifest-path src-tauri\Cargo.tomlTry the official diagnostic code or exception identifier by itself. Paste detection intentionally limits input size, retains only a bounded number of lines, and redacts likely credentials, credential-bearing URLs, and obvious local paths before matching. This protects local data but can remove context that would otherwise help a fuzzy query.
Source authority and editorial completeness are different. Many adapters ingest official diagnostic identifiers and source URLs while deliberately leaving generated explanations, triggers, or fixes in review. Use the official link for current behavior and contribute a reviewed enrichment rather than simply removing the status.
Validate the contribution before importing it. IDs must use lowercase underscore-separated segments, severity and frequency must use supported enum values, required text fields cannot be blank, and source URLs must be HTTP or HTTPS URLs.
python ingestion\validate_entries.py path\to\entry.jsonLocal contributions are stored in the application-data database. They are intentionally separate from the reproducible reviewed catalog under artifacts/ until a maintainer promotes them into the review manifest.
The train label is the single catalog split declared by the Hub configuration. It is not a recommendation to train on every row. Filter by verification state, define task-specific evaluation splits, and review the composite source terms before using the corpus in a model pipeline.
Build the release executable first and rerun scripts/capture_readme_media.py. The Windows capture routine performs a real palette open/close cycle, reacquires WebView windows when necessary, and parks the cursor before capture. Inspect every resulting PNG and the first/last animation states before committing regenerated media.
- Preserve stable diagnostic IDs after publication.
- Prefer official registries and tool output over copied community prose.
- Store source attribution and verification state with every derived record.
- Keep raw upstream snapshots out of distributable packages unless redistribution terms explicitly allow them.
- Never execute contributed examples as part of desktop rendering or ordinary ingestion validation.
- Treat catalog size, editorial quality, source coverage, and relationship coverage as separate metrics.
- Rebuild release artifacts and media from the exact versioned source that will be published.
- Verify model-package hashes before loading joblib checkpoints.
- No analytics, account requirement, background network request, or hosted database is required for desktop use.
- Pasted diagnostics are analyzed locally; secret-like lines and obvious local paths are redacted before matching.
- Code examples are displayed, never executed.
- Exported databases may include user contributions and should be stored accordingly.
- External documentation links are user initiated.
Read SECURITY.md before reporting an issue that may involve sensitive data.
The project includes:
- Funding configuration for @theworker02. The Sponsor button becomes actionable after the account activates GitHub Sponsors.
- Issue forms for catalog/application bugs and focused coverage or product requests.
- Code of Conduct, support guidance, and a pull request template.
- A Windows pull-request validation workflow that checks TypeScript, Rust, the catalog build, and the Hugging Face packages without publishing anything.
The canonical repository is theworker02/lexicon-error. Publishing remains an explicit maintainer action; the included workflows validate changes and deploy the static Pages site without requiring application secrets.
- Architecture
- Contribution workflow
- Security and privacy
- Changelog
- v1.0.0 release notes
- Public Hugging Face dataset
- Dataset Card source
- Hugging Face publishing
- Curate more generated registry entries into fully verified records.
- Expand state snapshots and cross-language conceptual mappings.
- Publish and maintain the compute-free Hugging Face demo Space against the public dataset.
- Add signed native release artifacts for Windows, macOS, and Linux.
- Add task-specific router evaluation splits without misrepresenting the catalog split as ground-truth training data.
- Continue performance profiling as verified coverage and relationship density grow.
- Add release automation after signing and maintainer policies are finalized.
If LexiconError is useful, use the repository Sponsor button once the Magnexis GitHub Sponsors profile is active. The issue forms are intentionally structured so catalog corrections include enough source and reproduction detail to be actionable.