Releases: yimwoo/lore
v1.6.0 — Phase 3: Intelligence (Dedup + Conflicts)
Phase 3: Intelligence — Semantic Dedup + Conflict Detection
Two features that make Lore's knowledge base self-cleaning and contradiction-aware.
Semantic Deduplication (Tier 2)
Write-time dedup using Elasticsearch-style fingerprinting combined with token-set Jaccard similarity.
- Near-duplicates (Jaccard >= 0.85): auto-filtered during consolidation
- Candidate duplicates (>= 0.65): forwarded to LLM consolidator as pairs
- "Always use snake_case" and "Must use snake_case" now recognized as the same rule
Conflict Detection & Resolution
NegEx-adapted polarity detector with 5-step decision tree.
# Lore surfaces conflicts in SessionStart:
# [Lore · conflict detected]
# Rule A: "Always use PostgreSQL" vs Rule B: "Use SQLite for CLI tools"
# Type: scope_mismatch — both may be valid in different contexts
lore resolve <idA> <idB> --keep <id> # Keep one, demote other
lore resolve <idA> <idB> --scope <id> --project cli # Make one project-specific
lore resolve <idA> <idB> --merge # Combine into one entry
lore resolve <idA> <idB> --dismiss # Mark as not-a-conflict
lore history <id> # Trace supersession chainFive conflict types detected:
- Direct negation: "use X" vs "never use X"
- Scope mismatch: same topic, different scope
- Temporal supersession: old rule replaced by newer correction
- Specialization: general rule + specific override (not a real conflict)
- Ambiguous: needs human judgment
Stats
- 15 files changed, +3,310 lines
- 624 tests across 42 test files
- 2 new pure modules, 1 new store
- 2 design docs + 1 research report
Full Changelog
See CHANGELOG.md for details.
v1.5.0 — Phase 1: Cold-Start Killer
Phase 1: Cold-Start Killer
Four features that close the gap between "Lore is installed" and "Lore is useful."
New Commands
lore import <file>
Bulk import from convention files — .cursorrules, CLAUDE.md, .clinerules, .windsurfrules, AGENTS.md, CONVENTIONS.md. Deterministic markdown parsing with heuristic kind assignment.
lore import CLAUDE.md # Import as pending entries
lore import .cursorrules --approve-all # Import and auto-approve
lore import AGENTS.md --dry-run # Preview without importing
lore import CONVENTIONS.md --kind domain_rule --tag-prefix teamlore init
Interactive onboarding that scans your project for convention files and offers to import each one.
lore init # Interactive scan + import
lore init --yes # Auto-approve all found files (scripted setup)lore dashboard
Structured overview of your knowledge base — entry counts, tag coverage, activity, and health indicators.
lore dashboard # Full dashboard
lore list-shared --stale # Entries not seen in 60+ days
lore list-shared --tag api # Filter by tagAlso available as MCP tool lore.dashboard for in-conversation use.
Signal Strength Classifier
The extraction pipeline now classifies user prompt signals:
- Strong ("always", "never", "must", corrections) → 0.9 confidence, skips session-count threshold
- Medium ("I prefer", "let's use") → 0.7 confidence
- Weak (one-off choices, questions) → standard threshold
This means Lore learns faster from explicit user conventions.
Stats
- 27 files changed, +3,763 lines
- 520 tests across 39 test files
- 3 new pure modules, 1 new CLI module
- 4 design docs in
docs/plans/
Full Changelog
See CHANGELOG.md for details.
v1.4.1
Added
- live transcript harness via
npm run demo:transcriptto show the exact Lore whisper payload, expected visible Codex prelude, approval step, and resulting shared knowledge state - integration coverage for the transcript harness and Stop-hook directive execution paths
Changed
- fixed Stop-hook
[lore:capture]to use the normal promoter flow with validation, forbid-pattern enforcement, and ledger-first writes - narrowed
LoreVisibleItemback to actionable pending suggestions and saved receipts only - preserved normal
[Lore]whisper output while separating it from actionable visible-item state and hardening micro-command targeting against stale receipt state
v1.4.0
Added
- Conversational Lore approval foundations, including receipt and suggestion metadata, project-local suppression storage, and approval provenance for captured and convergence-approved entries.
- New coverage for suppression storage, whisper state, stop-observer directive parsing, and convergence auto-approval limits.
Changed
- SessionStart instructions now describe Lore conversational tags and can render one-turn [Lore · saved] receipts.
- Pre-prompt whispers can surface pending entries as [Lore · suggested @ln] suggestions with lore yes / lore no affordances.
- Consolidation can auto-approve low-risk converged entries with approvalSource: auto:convergence, capped at three approvals per run.
- CLI list and inspect output now expose approval provenance directly.
v1.3.2
Added
- Developer-only structured JSONL tracing with LORE_DEBUG and optional LORE_LOG_FILE, including a shared debug logger and focused logger unit tests.
Changed
- Added trace instrumentation for SessionStart, pre-prompt whispering, Stop-hook extraction, consolidation, promotion, MCP stdio transport, and CLI command execution.
- Added test coverage for tracing behavior while preserving stdout protocol correctness and keeping pure modules free of logging I/O.
v1.3.1
[1.3.1] - 2026-03-28
Added
- Non-blocking SessionStart reminder when Codex is configured with
auth_mode: "chatgpt"but noOPENAI_API_KEY, so users understand why LLM ingestion is inactive. - Rate-limited runtime auth warnings for Lore's extraction path when the configured Responses API returns
401or403.
Changed
- Added coverage for the new ingestion-auth reminder paths in SessionStart and the extraction provider.
v1.3.0
[1.3.0] - 2026-03-28
Added
- LLM-oriented extraction and consolidation seams for Lore ingestion, including new extraction provider interfaces, draft storage, consolidation state, and a consolidator-driven pending knowledge pipeline.
- Stop-hook drafting support and SessionStart consolidation with a lightweight pending digest.
- New test coverage for provider injection, draft-store behavior, consolidator behavior, pending-only deletion, SessionStart pending digests, and Stop-hook failure-safe extraction behavior.
Changed
- Retired the old CLI-backed
SuggestionEnginepending-entry writer path. Pending shared knowledge is now produced by the consolidator, withlore suggestrepurposed as an informational/debug command. - Updated shared types, config, and storage layout to support draft candidates, consolidation watermarks, evidence summaries, contradiction counts, source-turn counts, and pending-entry merge metadata.
- Updated README and design docs to reflect the new ingestion architecture and approval surface.
v1.2.3
v1.2.2
Changed
- Fixed the global
lorenpm wrapper so it works from any current working directory by resolving the packagedtsxloader and CLI script relative to the installed package. - Replaced the installer’s
python3marketplace update step withnode, removing an unnecessary install prerequisite. - Simplified the README to present Lore as a Codex plugin first, with plugin-installed CLI examples that match the primary install flow.
- Updated the installer success message to use
npm run cli -- ..., matching the README and the plugin checkout workflow.
Lore v1.2.1
Added
- npm packaging metadata for the global CLI package
codex-lore.
Changed
- Renamed the npm package from
loretocodex-loreto avoid colliding with the existinglorepackage on npm. - Added a global
lorebinary so users can runnpm install -g codex-loreand then invokeloredirectly. - Added npm publish metadata and updated the README install instructions for the global CLI flow.
- Added a dedicated CLI wrapper so the published npm package exposes the
lorecommand correctly.
Published
codex-lore@1.2.1is now live on npm.