EdgeQuake Feature Registry
Product: v0.23.0 · Contract:
openapi.snapshot.json· Spec ops: Ingestion cancel & fairness
EdgeQuake Feature Registry
Section titled “EdgeQuake Feature Registry”This file maintains traceability between code features, business requirements, and shipped releases (v0.11–v0.23).
| Feature ID | Description | Status | Spec / Release |
|---|---|---|---|
| FEAT-0001 | Tenant Workspace Quota Management | Completed | SPEC-0001 / #133 |
| FEAT-0002 | Knowledge Injection (Glossaries & Synonyms) | Completed | SPEC-0002 / v0.8.0 |
| FEAT-0003 | Explainability & Model Picker (config chain) | Completed | SPEC-043 / v0.17.0 |
| FEAT-0004 | Graph Edge Labels | Planned | SPEC-0004 / #91 |
| FEAT-0005 | Custom Entity Configuration | Completed | SPEC-0005 / v0.8.0 |
| FEAT-006 | Unified Streaming Response Protocol | Completed | SPEC-006 / #56 |
| FEAT-007 | Vector Storage SQL Pre-Filtering | Completed | SPEC-007 |
| FEAT-008 | Explicit Provider/Model Transparency in UI | Completed | MISSION-01 / v0.9.19 |
| FEAT-009 | Document Deletion Correctness | Completed | MISSION-02 / v0.9.19 |
| FEAT-010 | Configurable PDF Parser Backend (Vision/EdgeParse) | Completed | MISSION-03 / v0.10.0 |
| FEAT-011 | Vision PDF Ingest & Side-by-Side Viewer | Completed | SPEC-047 / v0.17.0 |
| FEAT-012 | Real-Time Pipeline Progress (WS bridge) | Completed | SPEC-048 / v0.17.0 |
| FEAT-013 | Deletion & Reprocess Progress Parity | Completed | SPEC-050 / v0.17.0 |
| FEAT-014 | GraphRAG / Hybrid RAG Ops & ACC Science | Completed | SPEC-046 / v0.16.0 |
| FEAT-015 | OpenAPI-Native API Explorer | Completed | SPEC-035 / v0.15.x |
| FEAT-016 | Mistral First-Class Provider | Completed | v0.11.0 |
| FEAT-017 | Embedding Progress Reporting | Completed | #197 / v0.11.3 |
| FEAT-018 | Runtime Auth Secure by Default | Completed | SPEC-027 / v0.13.x |
| FEAT-019 | Documents List & Mix-Scale Perf Gates | Completed | SPEC-054 / v0.18.0 |
| FEAT-020 | Claim/Lease Delivery & Convert→Ingest SSOT | Completed | SPEC-057 / v0.19.0 |
| FEAT-035 | OpenAPI Explorer (WebUI implementation) | Completed | SPEC-035 — code marker |
| FEAT-094 | Standalone PDF→Markdown Parse API | Completed | SPEC-094 / v0.23.0 |
| FEAT-096 | Multi-Language Extraction (workspace-scoped) | Completed | SPEC-096 / v0.23.0 |
| FEAT-101 | Wizard Onboarding & Setup API | Completed | SPEC-101 / v0.23.0 |
| FEAT-102 | Custom Entity Type Colors (workspace graph) | Completed | SPEC-102 / v0.23.0 |
| FEAT-103 | LightRAG-Parity LLM Cache | Completed | SPEC-103 / v0.23.0 |
| FEAT-126 | Provider KV / Prompt Cache | Completed | SPEC-126 |
Feature Definitions
Section titled “Feature Definitions”FEAT-0002 — Knowledge Injection
Section titled “FEAT-0002 — Knowledge Injection”Issue: #131
Spec: specifications/0002_knowledge_injection_issue_131
Released: v0.8.0 (2026-04-03)
Status: ✅ Completed
Problem: Domain-specific acronyms (OEE, NLP) and synonyms are unknown to the embedding model. Queries for “OEE” miss documents that say “Overall Equipment Effectiveness”, degrading retrieval quality.
Solution: Workspace owners inject glossary definitions as named entries. These are processed through the standard entity-extraction pipeline, enriching the knowledge graph. At query time, injection entities expand the query terms. Injection entries are never shown as source citations.
API Surface:
PUT /api/v1/workspaces/:id/injection— create/replace text injectionPUT /api/v1/workspaces/:id/injection/file— upload file injectionGET /api/v1/workspaces/:id/injections— list all entriesGET /api/v1/workspaces/:id/injections/:injection_id— get detail (plural path)PATCH /api/v1/workspaces/:id/injections/:injection_id— update name/contentDELETE /api/v1/workspaces/:id/injections/:injection_id— delete + cascade cleanup
UI: /knowledge page with list, add dialog (text/file tabs), detail page, inline edit, delete confirmation.
FEAT-0003 — Explainability & Model Picker (SPEC-043)
Section titled “FEAT-0003 — Explainability & Model Picker (SPEC-043)”Spec: specs/043-update-edgequake-llm
Released: v0.17.0 (2026-07-14)
Status: ✅ Completed (was Planned under legacy SPEC-0003)
Capabilities:
- Unified
ModelPickerPanelacross workspace, query, and settings - Server-side model search:
GET /api/v1/models/search - Provider Status Hub with
auth_kindand remediation hints - Config explainability panel — effective provider/model resolution chain
- Application attribution API for downstream LLM request labeling
- Bundled
models.tomlwith runtime override paths
API Surface: /api/v1/models/search, /api/v1/settings/*, /api/v1/config/effective
FEAT-0005 — Custom Entity Configuration
Section titled “FEAT-0005 — Custom Entity Configuration”Issue: #85
Spec: specifications/0005_custom_entity_config_issue_85
Released: v0.8.0 (2026-04-03)
Status: ✅ Completed
Workspace-scoped entity_types with preset-driven and custom configuration, normalized and injected into extraction prompts per workspace.
FEAT-010 — Configurable PDF Parser Backend
Section titled “FEAT-010 — Configurable PDF Parser Backend”Released: v0.10.0 (2026-04-10)
Status: ✅ Completed
Runtime PDF extraction backends: vision (VLM), edgeparse (CPU), edgeparse-ocr (EdgeParse + Tesseract), and auto. Resolution: per-upload → workspace default → EDGEQUAKE_PDF_PARSER_BACKEND env → vision.
FEAT-011 — Vision PDF Ingest (SPEC-047)
Section titled “FEAT-011 — Vision PDF Ingest (SPEC-047)”Spec: specs/047-rag-evaluation
Released: v0.17.0
Status: ✅ Completed
- PDF → Markdown via vision LLM (page-level rendering)
- Per-page progress via WebSocket
/ws/progress/{track_id} - Side-by-side PDF + Markdown viewer
- Visual asset extraction (
document_mm_assets, migrations 084/085)
FEAT-012 — Real-Time Pipeline Progress (SPEC-048)
Section titled “FEAT-012 — Real-Time Pipeline Progress (SPEC-048)”Spec: specs/048-improve-ux
Released: v0.17.0
Status: ✅ Completed
spawn_pipeline_ws_bridgeforwards pipeline events to WS/SSE clients- Pipeline status dialog with per-stage timing
track_idcorrelation upload → pipeline → completion- Progress endpoint:
/ws/progress/{track_id}(not legacy/rag/*)
FEAT-013 — Deletion & Reprocess Progress (SPEC-050)
Section titled “FEAT-013 — Deletion & Reprocess Progress (SPEC-050)”Spec: specs/050-pipeline-and-delete
Released: v0.17.0
Status: ✅ Completed
- Delete document shows stage-by-stage progress (graph / vector / KV cleanup)
- Reprocess parity with structured progress feedback
- All pipeline stages surfaced with human-readable labels
FEAT-014 — GraphRAG / Hybrid RAG Ops (SPEC-046)
Section titled “FEAT-014 — GraphRAG / Hybrid RAG Ops (SPEC-046)”Spec: specs/046-graphrag-study
Released: v0.16.0
Status: ✅ Completed
Fail-closed HNSW readiness, PPR-default graph walks, bipartite dual-node retrieval, ACC CI gate, ops runbooks.
FEAT-018 — Runtime Auth Secure by Default
Section titled “FEAT-018 — Runtime Auth Secure by Default”Released: v0.13.x (SPEC-027 hardening)
Status: ✅ Completed
auth_enabled: trueby default when unsetEDGEQUAKE_DEV_MODE=trueopt-out for localmake dev- Fail-closed middleware on versioned API when auth enabled
- WebSocket auth rejects missing token when auth enabled
FEAT-019 — Storage/Query Performance Gates (SPEC-054)
Section titled “FEAT-019 — Storage/Query Performance Gates (SPEC-054)”Spec: specs/054-fix-bugs-17
Released: v0.18.0
Status: ✅ Completed
Documents list perf gate, Mix-scale query budgets, batch lineage SQL, stable track_id across upload → WS progress.
FEAT-020 — Claim/Lease Delivery & Convert→Ingest (SPEC-057)
Section titled “FEAT-020 — Claim/Lease Delivery & Convert→Ingest (SPEC-057)”Spec: specs/057-pipeline-reliability
Released: v0.19.0 (2026-07-17)
Status: ✅ Completed
Delivery SSOT:
- Workers claim via
FOR UPDATE SKIP LOCKED+ leases; NOTIFY is wake-only IngestionStatusMapper→ APIdisplay_status/ui_phaseonDocumentSummary- PDF
Cancelledstatus (never maps cancel → Failed) - Convert (
TaskType::PdfProcessing) then ingest (TaskType::Insert) with markdown checkpoint - Cancel facade:
POST /api/v1/tasks/{track_id}/cancel - Multi-replica:
EDGEQUAKE_REPLICAS+ queue-metrics observability
Ops: Ingestion cancel & fairness
FEAT-035 — OpenAPI-Native API Explorer
Section titled “FEAT-035 — OpenAPI-Native API Explorer”Spec: specs/035-api-explorer
Status: ✅ Completed
WebUI /api-explorer driven by OpenAPI snapshot with auth token and workspace base URL injection (@implements FEAT-035 in code).
FEAT-094 — Standalone PDF→Markdown Parse API (SPEC-094)
Section titled “FEAT-094 — Standalone PDF→Markdown Parse API (SPEC-094)”Spec: specs/94-api-markdown
Released: v0.23.0 (2026-08-02)
Status: ✅ Completed
Stateless POST /api/v1/parse (multipart or raw application/pdf) converts PDF→Markdown without document residue:
GET /api/v1/parse/backends— list available parse backendsGET /api/v1/parse/jobs/{id}— poll async parse jobs (in-memory TTL)- Sync ceiling 15 pages + 20 MiB; async up to 1000 pages (
Prefer: respond-async) - Returns Markdown + timing/cost metrics only
FEAT-101 — Wizard Onboarding & Setup API (SPEC-101)
Section titled “FEAT-101 — Wizard Onboarding & Setup API (SPEC-101)”Spec: specs/101-wizard-mode-tenant-workspace
Released: v0.23.0 (2026-08-02)
Status: ✅ Completed
First-run wizard onboarding: setup API + context selector + provider/workspace bootstrap.
FEAT-103 — LightRAG-Parity LLM Cache (SPEC-103)
Section titled “FEAT-103 — LightRAG-Parity LLM Cache (SPEC-103)”Spec: specs/103-llm-cache
Released: v0.23.0 (2026-08-02)
Status: ✅ Completed
Unified keyword + answer LlmResponseCache (L1 memory + L2 public.llm_cache):
- Master switch
EDGEQUAKE_LLM_CACHEdefaults on; overridesEDGEQUAKE_KEYWORD_CACHE/EDGEQUAKE_QUERY_ANSWER_CACHE - Acc pins cache off (
EDGEQUAKE_LLM_CACHE=0) for fair cold peers - Proof:
make spec103-llm-cache-proof
FEAT-126 — Provider KV / Prompt Cache (SPEC-126)
Section titled “FEAT-126 — Provider KV / Prompt Cache (SPEC-126)”Spec: specs/126-provider-kv-cache
Status: ✅ Implemented
Per-provider prompt/KV cache policy (default on). Distinct from SPEC-103 response cache:
- Native OpenAI (
OpenAIProvider, including official-OpenAI proxies) / Azure:prompt_cache_keyplus GPT-5.6 explicit breakpoints (prompt_cache_options/prompt_cache_breakpoint). Support is learned from structurederror.param400s — not from model-name or hostname parsing.OpenAIProvider::compatiblenever sends GPT-5.6 fields. - Mistral / NVIDIA / OpenAI-compatible:
prompt_cache_keyonly (eq:{role}:{provider}:{model}) - Anthropic:
cache_controlon stable system prefix; TTLEDGEQUAKE_PROMPT_CACHE_TTL(5m/1h) - OpenRouter:
cache_control+prompt_cache_key+session_id(sticky routing, Aug 2026) - Bedrock Converse:
cachePointafter system blocks (protocol, not model-id sniffing) - Gemini / Ollama: layout-only (implicit prefix reuse; Gemini
cachedContentswhen the flag is on) - Mix/answer + extract/glean/keyword/summarize/judge: stable instructions first, dynamic content last
- Acc keeps this on (does not skip generation / does not change answers)
- Highest-volume win is extract/glean (many chunks × same system). Mix KV is small unless Mix instructions exceed vendor min tokens.
- E2E (CI):
e2e_spec126_prompt_cache— Native explicit fields, Compatible omits them, structuredparam400 retry. Live OpenAIcached_tokensproof is#[ignore](EDGEQUAKE_LIVE_PROMPT_CACHE=1). Vendor APIs verified August 2026.
FEAT-096 — Multi-Language Extraction (SPEC-096 / GH-352)
Section titled “FEAT-096 — Multi-Language Extraction (SPEC-096 / GH-352)”Spec: specs/096-multi-language-extraction
Issue: #352
Status: ✅ Implemented (v0.23.0)
Workspace-scoped extraction_language for KG entity/relationship natural-language output:
- Allowlist aligned with LightRAG
SUMMARY_LANGUAGE/SUPPORTED_LANGUAGES - Resolve: workspace metadata →
EDGEQUAKE_EXTRACTION_LANGUAGE→English - Production JSON extractors inject a shared language instruction (JSON keys stay English)
- WebUI
WorkspaceExtractionLanguageCardbeside Entity Types; future ingestions / reprocess only - Language-aware entity-type presets (LAW-L6): known presets remap to localized UPPERCASE tokens (e.g. French
PERSONNE); custom lists stay as-is - OpenAPI + Playwright e2e screenshots under
specs/096-multi-language-extraction/e2e/screenshots/
Ops note: Multilingual corpora often need a multilingual embedding model for retrieval quality (TrustGraph guidance).
FEAT-102 — Custom Entity Type Colors (SPEC-102)
Section titled “FEAT-102 — Custom Entity Type Colors (SPEC-102)”Spec: specs/102-custom-entity-type-colors
Status: ✅ Completed (v0.23.0)
Workspace-scoped entity_type_colors for knowledge-graph visualization:
- Persist
{ "PERSON": "#3b82f6", ... }in workspacemetadatavia create/update APIs - Single WebUI resolver (
resolveEntityTypeColor) over expanded defaults - EntityTypeSelector + graph legend color pickers; entity-type mode only
- Hex
#RGB/#RRGGBBvalidation; max 50 entries - Gates:
entity-type-colors.test.ts,spec102_entity_type_colors_persist,e2e/spec102-entity-type-colors.spec.ts
Release Map (v0.11 → v0.23)
Section titled “Release Map (v0.11 → v0.23)”| Version | Date | Highlights |
|---|---|---|
| 0.11.0 | 2026-04-27 | Mistral first-class provider |
| 0.11.3 | 2026-05-06 | Embedding progress; B2B header propagation; pipeline timeout env vars |
| 0.12.0 | 2026-05-06 | Vision image attachments; auth token expiry UX |
| 0.13.x | 2026-07 | Auth secure by default; OIDC paths |
| 0.14–0.15 | 2026-07 | OpenAPI explorer; migration tooling |
| 0.16.0 | 2026-07-10 | SPEC-046 GraphRAG ops + ACC science |
| 0.17.0 | 2026-07-14 | SPEC-043 model picker; SPEC-047 vision; SPEC-048/050 progress |
| 0.18.0 | 2026-07-16 | SPEC-054 perf gates; OpenAPI snapshot freshness |
| 0.19.0 | 2026-07-17 | SPEC-057 claim/lease; convert→ingest; cancel fairness |
| 0.20.0 | 2026-07-21 | LightRAG Mix arms; Drawing display names; vision ingestion reliability |
| 0.21.0 | 2026-07-23 | Query-API parity (074–085); D-30 multigraph arbiter; SPEC-083 closure |
| 0.22.0 | 2026-07-26 | SPEC-090 multi-pool + migrate CLI; M104/M105 cutovers; boot migrate split |
| 0.23.0 | 2026-08-02 | SPEC-091 relational data-layer cutover; SPEC-103 LLM cache; SPEC-094 parse API; wizard/onboarding |
Last Updated: 2026-08-03
Total Features (indexed): 25
OpenAPI SSOT: edgequake_webui/openapi/openapi.snapshot.json