Repository navigation
v1.1.0 — Phase 7: Research-Backed Editor
Every flagged issue now ships with evidence, rewrite, and citation on a single finding.
Headline
- 3 new skills: Grammar & Style (LanguageTool + LLM fallback), Academic Citations (Semantic Scholar), Self-Plagiarism (Cloudflare Vectorize)
- Fact-check upgraded: every finding carries
sources[]+claimType;--deep-fact-checkroutes through Exa deep-reasoning - Enricher pipeline merges citations onto fact-check findings via quoted-claim matching (R8)
- Provider picker UX in Settings (BYOK, per-skill); GET masks apiKeys, PUT is CSRF-guarded + localhost-only
- Claim drill-down side panel surfaces sources + citations + rewrite in one click
- Pre-flight cost estimator — honest scaling by claim count and embedding tokens
- New CLI subcommand:
checkapp index <dir>ingests past articles for self-plagiarism - 280 tests (up from 160), including an automated E2E fixture test asserting the four-output contract
Breaking changes
None. All Phase 7 additions are strictly additive:
Findinggains optionalsources?,rewrite?,citations?,claimType?,confidence?Configgains optionalproviders?: Partial<Record<SkillId, SkillProviderConfig>>- Legacy flat config keys (
EXA_API_KEY,copyscapeKey, etc.) continue to work unchanged - Pre-Phase-7 SQLite report blobs replay safely via
normalizeSkillResult
Security (BYOK alpha)
- API keys stored plaintext at
~/.checkapp/config.json— protect withchmod 600 - Dashboard designed for localhost-only use; do not put behind a public proxy
- CSRF token at
~/.checkapp/csrf.tokenrequired on/api/providersPUT - See
docs/security.mdfor the full threat model and planned hardening
Deferred to 1.2.0 (Phase 7.5)
- Parallel Task as second deep-reasoning provider
- Copysentry post-publish monitoring
- Cross-provider transient-failure fallback chain
- OS keychain integration
- At-rest encryption of API keys
What's next
Phase 8 — CheckApp Studio (web editor with live checks, rewrite co-pilot, research panel) — planning begins now.
See CHANGELOG.md for the full list of changes across 19 PRs.