Changelog

What has landed in lore so far, distilled from the CLI repository’s own CHANGELOG.md, newest release first.

0.7.0 — 2026-09-15

Added

  • lore read <id> returns one concept exactly as authored — its frontmatter and full body, verbatim, with no budget flag at all. It is a separate command from lore context, which assembles a neighbourhood and is lossy by design.
  • Typed authored relationships: a new reserved relations frontmatter list records that one document requires, refutes, is an alternative to, supersedes or is superseded_by another, optionally pinned to a statement and a version. claim_outcome, claim_evidence_level and claim_version are a third axis beside status, never derived from it and never written by lore. --proof-only on lore graph/path/impact selects just the proof-bearing kinds; lore check reports relation-version-drift as a warning, plus broken-relation and unknown-relation-kind; and lore graph --json carries a versionState on every relation edge. A bundle that adopts none of it serializes and exports byte-identically.
  • lore sync --fail-on-drop refuses the run with exit 6, before any write, when regenerating docs/log.md would drop unrecognized content. Opt-in: without it, sync still warns, proceeds and exits 0.
  • lore help --json flag entries may now carry required: true, so an agent can build a valid invocation from the manifest alone.

Changed

  • lore context --max-tokens is now a hard ceiling, not an advisory label: neighbours are dropped nearest-first, then the target’s own body if it still doesn’t fit, and data.omitted always names what was dropped — present even when nothing was. A budget too small to hold the target’s identity is refused with exit 6. Omitting the flag still applies no cap.
  • lore graph, query, context, path and impact now report which retrieval backend served the request: --json carries backend as "indexed" or "reference" on every successful response.
  • The projection export schema is now 1.1: task records carry a dependencies array and the stream a new dependency edge kind. lore export --schema-version 1.0 is refused; a bare lore export is unaffected, and projections retained under 1.0 are still read.

Fixed

  • lore path, lore impact and lore export now see tracker dependency edges, which run dependent → prerequisite and are selectable with --edge dependency; an unresolvable prerequisite is reported as dangling rather than dropped.
  • The indexed retrieval backend works again on a tracker whose tasks carry prerequisites — the ordinary shape of a Quest-backed workspace — instead of silently falling back to the reference backend on every command.
  • When indexed retrieval does fall back, the warning names its cause from a closed set (unsupported platform, driver unavailable, verification failed, no usable snapshot, preflight failed, unrecognised), and the one route that used to fall back silently now warns too.
  • Projection task records name the adapter that actually produced them (quest-json/1, jira-rest/1, backlog-json/1) instead of always claiming Backlog.md.
  • Required flags are marked (required) in help text and in lore help --json — five across lore impact and lore path, two more on lore provenance — and lore provenance no longer reports an omitted flag as an invalid value.
  • A cached indexed-retrieval generation is no longer permanently invalidated by a projection schema bump.

0.6.2 — 2026-09-13

Added

  • lore sync now tells you when it is about to drop content from docs/log.md — naming the count and sampling the text — and reports N added, N carried forward, N dropped on every run, also in --json. Blank lines and the log title are structure and never counted, so a healthy sync stays quiet.

0.6.1 — 2026-09-11

Fixed

  • lore sync no longer destroys docs/log.md entries it cannot re-derive from the visible git history — a shallow clone, a limited CI fetch depth, or a rewritten history all used to truncate the file silently. Regeneration now merges: derived entries render from history, and any committed entry history cannot account for is carried forward. Where history only grows, output is byte-identical to before.

0.6.0 — 2026-09-09

Added

  • lore init --migrate-backlog accepts --preserve-source-ids --source-family <PREFIX>, threading Quest’s own fix for the unrecoverable Alias collision (exit 5) a dotted Backlog.md subtask could trigger during migration.
  • A new --antigravity agent bridge writes a project-local GEMINI.md for Google Antigravity and Gemini CLI, offered in the wizard whenever the gemini binary is on PATH.

Changed

  • The interactive wizard’s sequential yes/no agent-bridge questions are now one multi-select listing only the bridges detected on PATH. Nothing starts pre-checked, so a bare Enter writes no bridge files at all; the non-interactive flag path (--claude, --codex, --hermes, --antigravity, --yes) is unchanged.
  • The AGENTS.md option’s label now names pi and OpenCode, both of which read that file as their primary convention.

0.5.0 — 2026-09-08

Removed

  • Breaking: InitResult.backlog and the internal legacy Backlog-check helper are removed. trackerCheck is now the only tracker-capability field lore init --json emits, naming whichever backend was actually probed.

Added

  • A new lore instructions agents topic documents how lore agents/lore agents --check decide which agent bridge (Claude, Codex, or both) to check or write.

Fixed

  • lore export and workspace/indexed retrieval no longer reject a tracker-disabled bundle (lore init --tracker none); a read-only projection now works with an empty task set instead of throwing.
  • lore check no longer walks into a git-ignored vendor or cache directory inside a checked path, so a stray file in a build cache can no longer produce false findings.
  • Breaking: Lore’s Quest writes now require an explicit actor to be declared instead of silently writing every task edit as an unattributed human.

0.4.6 — 2026-09-07

Fixed

  • lore sync/lore check no longer throw when a Story links a task Quest has paused to its Blocked status; the tracker adapter now classifies it as active instead of failing reconciliation.

0.4.5 — 2026-09-07

Fixed

  • lore agents --check no longer labels a SKILL.md sourced from the opum-lore plugin as present once the per-repo copy has been removed; it now reports the file as absent by design instead of “up to date.”

0.4.4 — 2026-09-05

Added

  • lore agent context <profile> --workspace <manifest> --repository <member-id> compiles a profile-bounded evidence pack across an explicit multi-repository workspace manifest, with every resolved item carrying its originating member’s provenance.

Fixed

  • lore agent context no longer crashes on a qualified (member::path) reference compiled without --workspace; a bare compile now resolves it against the one bundle it can mean.

0.4.3 — 2026-09-05

Added

  • [agents].skill_source config key and lore init --skill-source repo|plugin flag. Opting into plugin tells lore agents that .claude/skills/lore/SKILL.md is owned by the opum-lore marketplace plugin, not the repository, so a bare lore agents run stops proposing or regenerating it.

Changed

  • A leftover SKILL.md left behind under skill_source = "plugin" is now flagged as drift rather than silently ignored.

0.4.2 — 2026-09-05

Added

  • The opum-lore Claude Code plugin, shipping the lore skill from the same repository and tag so a skill can never describe a CLI version you don’t have.

Changed

  • lore init’s interactive wizard now defaults to one agent harness, not both, when both Claude Code and Codex are detected; answering yes to the Codex question explicitly still sets up both.

Fixed

  • lore link, lore unlink, and lore rename no longer fail after mutating both sides under a Quest-backed tracker.

0.4.1 — 2026-09-04

Fixed

  • A managed task-block link to a non-markdown task file (a Quest task’s real .quest/tasks/<id>.json path) no longer corrupts into a dead target; a tracker adapter’s task-file path is now always linked verbatim.

0.4.0 — 2026-09-02

Changed

  • Breaking: lore check and lore validate now flag a concept whose body opens with a second, parseable frontmatter fence as an error, not just at lore new scaffold time.

Added

  • lore orphans --json separates pendingLinks (a tracker task with recorded documentation but no linkage yet) from orphanTasks (documented nowhere at all).

Fixed

  • lore orphans no longer misreports a Done, correctly-linked Quest task as dangling.

0.3.5 — 2026-08-29

Fixed

  • The Quest version gate is a minimum floor, not a frozen allow-list, so Lore and Quest can be released independently; lore init --tracker quest now evaluates that gate before persisting the choice instead of committing to a backend that then refuses every command.

Added

  • lore init detects which tracker backends are installed before asking which to use, and can configure Jira, validating the configuration before persisting it.

0.3.4 — 2026-08-27

Fixed

  • The Quest adapter now accepts the structured acceptance-criteria contract Quest 0.2.7 shipped, mapping it losslessly to Lore criteria.

0.3.3 — 2026-08-26

Added

  • New bundles now persist Quest as their tracker backend by default.

0.3.2 — 2026-08-17

Added

  • Agent instructions and the generated Claude Code / Codex bridges now explain explicit multi-repository workspace selection, bounded retrieval, and provenance.

Fixed

  • Backlog subprocesses used by lore export and workspace commands now launch from an isolated empty directory while retaining their logical project root through BACKLOG_CWD, so a protected ambient environment file can no longer cause a false “not --json-capable” error.

0.3.0 — 2026-08-16

Added

  • lore backlog adopt provides deterministic, digest-guarded Backlog knowledge adoption. Its preview, apply, status, and rollback operations create provenance-bearing Lore concepts and receipts, require the approved preview digest before mutation, stay idempotent, and compensate exactly or report a blocked-incomplete outcome.

Fixed

  • lore check no longer reads the machine clock for OKF 0.2 stale-content rules; --as-of YYYY-MM-DD pins date-sensitive checks explicitly, and otherwise they use HEAD’s recorded commit date, keeping unchanged repository state byte-stable across runs.
  • lore check now reports relative links that escape the documentation root instead of silently skipping them.
  • Docker end-to-end tests no longer write a repository-local Git identity that can leak into unrelated commits.

0.2.0 — 2026-08-09

Added

  • Lore can now use either Backlog.md or Jira Cloud as its task tracker; lore init --tracker backlog|jira selects it without prompting, and existing zero-config repositories stay byte-stable Backlog projects.
  • OKF 0.2 Attested Computations are a first-class, representation-only concept type: Lore can scaffold, validate, link, and check their runtime, parameters, computation, executor, and attester metadata, but never executes bundle code.

Changed

  • New bundles now emit OKF 0.2 while existing OKF 0.1 bundles remain readable, strict-clean, and byte-stable.
  • Validation, checking, projection, schemas, templates, generated guidance, and Docker E2E coverage now negotiate a bundle’s declared producer version, keeping Lore’s stricter profile and documentation-coherence gates separate from the permissive OKF conformance floor.

Fixed

  • Generated docs/log.md commit subjects containing MDX-sensitive characters are now wrapped in collision-safe code spans, so a successful lore sync can no longer make lore check --strict fail.
  • lore init now distinguishes an uninitialized Backlog project from a genuinely non-JSON-capable Backlog binary and recommends backlog init instead of an unnecessary reinstall.
  • Automatic indexed retrieval now reports a sanitized fallback advisory when source loading fails before native activation, instead of misclassifying it as a native search-index failure.
  • Selecting an unknown --repository under an explicit workspace is now validated consistently against the manifest, including in a single-member workspace whose declared member isn’t yet valid.

0.1.1 — 2026-08-04

Added

  • Windows ARM64 is now a first-class compiled release target, alongside macOS, Linux, and Windows x64.

Fixed

  • Global installs no longer need an extra --allow-scripts flag for the native search-index backend; it ships pre-built for supported platforms, with an automatic, clearly labeled fallback where a matching build isn’t available.
  • Selecting an unknown --repository under an explicit workspace now fails with a clear validation error for graph, query, context, path, and impact, instead of proceeding silently.
  • lore link, lore unlink, and lore check --strict now agree on which concept types support Backlog task coupling.
  • lore sync correctly regenerates a Story’s managed task table when its last linked task is unlinked; lore check --strict flags the same drift if a sync is skipped.
  • lore check (and --strict) now catches unknown concept types the same way lore validate --strict already did.

0.1.0 — 2026-08-03

Added

  • lore init scaffolds a new OKF bundle (docs/, .lore/) in a repository; on an interactive terminal it also offers a short wizard for Claude Code / Codex agent setup and a doc-site scaffold.
  • lore init --claude / --codex set up each coding agent deterministically, without the wizard.
  • lore check is the read-only CI gate: status drift, stale managed blocks, broken links and anchors, and a portability lint, aggregated into one exit code.
  • lore sync is the write counterpart — it reconciles a Story’s status against its linked Backlog tasks and regenerates the managed task table.
  • lore link / lore unlink couple a concept’s tasks: frontmatter to Backlog task ids, with a queryable back-reference label on the task itself.
  • lore tasks <id> shows a concept’s linked Backlog tasks with their current status.
  • lore orphans reports Backlog tasks with no linked doc, and doc links pointing at tasks that no longer exist.
  • lore query full-text searches the bundle with frontmatter filters; lore graph emits its cross-link graph; lore context assembles a token-budgeted context pack for a concept.
  • lore rename, lore supersede, and lore replace perform a graph-aware rename, record a supersession, and do a managed-region-safe find-and-replace.
  • lore schema export materializes the current profile’s editor JSON Schemas.
  • lore scaffold mkdocs / docusaurus / obsidian generate a ready-to-build doc-site config alongside the OKF bundle.
  • lore agents generates and refreshes the Claude Code agent bridge (a generated SKILL.md plus a managed pointer in CLAUDE.md).
  • lore help prints the full command reference, and carries a machine-readable --json capability manifest for agents.
  • lore export emits a deterministic OKF projection (JSONL) for downstream indexes.
  • A release pipeline that compiles and publishes platform binaries for five targets through npm.

Fixed

  • Upgraded the YAML parser dependency off a version carrying a known vulnerability.
  • File writes now retry automatically past transient Windows antivirus/indexer lock errors instead of failing outright.
  • lore orphans no longer flags a Backlog subtask as orphaned when its parent task is already linked to a doc.
  • lore agents no longer renders a stale, hand-edited bridge file in the same color as a fresh write.
  • lore link / unlink --json no longer prints a success-shaped result after a failed write.
  • Corrected the documented exit code for a missing backlog binary versus one merely too old to support --json.

Changed

  • Re-running lore scaffold against an already up-to-date doc-site config is now a no-op instead of failing.
  • Harmonized error-hint wording across lore tasks, lore context, and lore link/unlink.