Skip to content

Releases: yimwoo/lore

v1.6.0 — Phase 3: Intelligence (Dedup + Conflicts)

29 Mar 20:28
dde8cfc

Choose a tag to compare

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 chain

Five 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

29 Mar 18:47
2ddb031

Choose a tag to compare

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 team

lore 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 tag

Also 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

29 Mar 16:32
3591213

Choose a tag to compare

Added

  • live transcript harness via npm run demo:transcript to 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 LoreVisibleItem back 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

29 Mar 00:28

Choose a tag to compare

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

28 Mar 22:29

Choose a tag to compare

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

28 Mar 20:36

Choose a tag to compare

[1.3.1] - 2026-03-28

Added

  • Non-blocking SessionStart reminder when Codex is configured with auth_mode: "chatgpt" but no OPENAI_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 401 or 403.

Changed

  • Added coverage for the new ingestion-auth reminder paths in SessionStart and the extraction provider.

v1.3.0

28 Mar 20:21

Choose a tag to compare

[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 SuggestionEngine pending-entry writer path. Pending shared knowledge is now produced by the consolidator, with lore suggest repurposed 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

28 Mar 17:44

Choose a tag to compare

Changed

  • Fixed the npm package bin metadata to use bin/lore.js, so npm preserves the global lore command during publish instead of auto-correcting it away.

v1.2.2

28 Mar 17:35

Choose a tag to compare

Changed

  • Fixed the global lore npm wrapper so it works from any current working directory by resolving the packaged tsx loader and CLI script relative to the installed package.
  • Replaced the installer’s python3 marketplace update step with node, 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

28 Mar 17:16

Choose a tag to compare

Added

  • npm packaging metadata for the global CLI package codex-lore.

Changed

  • Renamed the npm package from lore to codex-lore to avoid colliding with the existing lore package on npm.
  • Added a global lore binary so users can run npm install -g codex-lore and then invoke lore directly.
  • 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 lore command correctly.

Published

  • codex-lore@1.2.1 is now live on npm.