v0.2.7 — Grounding, Citations & Idempotency
Product impact
v0.2.7 makes the answer boundary explicit and makes write retries safe. The server now decides whether to return a deterministic FAQ, generate from sufficient retrieved evidence, or refuse before answer generation. That decision and its source snapshot survive conversation history, while optional idempotency keys prevent repeated JSON/SSE writes from duplicating side effects.
Highlights
- Explicit
direct_faq,grounded_generation, andrefusalanswer modes. - Persisted grounding status, reason, and FAQ/document source snapshots.
- Deterministic refusal for missing, weak, conflicting, and recognized high-risk evidence paths.
- Human escalation before generation for unsupported actions and explicit requests.
- SQLite-backed, owner-scoped
Idempotency-Keyreplay for supported JSON/SSE mutations. - Synchronous frontend submission guards for chat, ratings, configuration, FAQ, review, document, and authentication workflows.
- Abortable provider timeouts, readiness probe, and bounded graceful shutdown.
- Architecture documentation covering topology, trust boundaries, failure behavior, and evidence-based scaling triggers.
Verification
- Core regression and TypeScript checks passed.
- FAQ evaluation: 11 cases; Top1, Top3, and no-match accuracy 100%.
- Document evaluation: 12 real-format cases; Top3 100%, MRR 0.958.
- Mixed knowledge evaluation: 6/6 Top1.
- Playwright: 41 API and Chromium workflows passed locally.
- GitHub Actions run
29882816837passed regression, retrieval evaluation, E2E, and build steps. - Production build, diff check, and independent adversarial standards/specification reviews passed.
See the full evidence package and architecture document.
Known limits
- Grounding thresholds are initial deterministic safeguards and still need versioned calibration.
- Source cards are retrieval snapshots, not claim-level entailment verification.
- Conflict detection is limited to duplicate normalized direct-FAQ questions with different answers.
- Idempotency records are deployment-local, retained for 24 hours, and do not coordinate multiple independent API stores or external business systems.
- Multipart uploads use workflow-specific submission and content-duplicate protection rather than generic response replay.
- The default deployment remains one API instance with SQLite and an in-memory vector index.
This project remains pre-1.0. APIs and persisted data may change before a stability review.