Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "commitlore",
"displayName": "CommitLore",
"version": "0.7.1",
"version": "0.8.0",
"description": "Recorded decisions from git history, delivered to the agent before it edits. Constraints, alternatives already ruled out, and warnings left by whoever was here last.",
"author": {
"name": "MongLong0214",
Expand Down
2 changes: 1 addition & 1 deletion .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "commitlore",
"version": "0.7.1",
"version": "0.8.0",
"description": "Decision memory from Git history, with verified capture for coding sessions.",
"author": {
"name": "MongLong0214",
Expand Down
99 changes: 94 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,100 @@

## Unreleased

- The agent tooling whose local config shipped in 0.5.0 as `.serena/` is no
longer used, and the configuration that kept it out of future runs is
retired with it: the ignore entry, the manifest-test guard, and the
task-level comments that named it. The bench evidence still names the
directory, because that is what the recorded runs saw (#514).
## 0.8.0

Everything 0.7.1 promised about unattended capture is in a release for the
first time. 0.7.1 was published on 2026-08-09; the work it was credited with
merged on 2026-08-11, so the published artefact never carried `commitlore auto`
or `capture --unattended` at all (#525, #511). It does now.

### One command sets a repository up

`commitlore init` grew the step that had been missing: it registers this
repository's MCP server, so the tools that *start* a capture reach a host that
loads `.mcp.json`.

Without it the install was half a product and did not say so. The git hooks can
apply and finalise a record that something else already staged; they cannot
begin one, because a hook has a diff and a capture needs a transcript. Four
repositories ran with `unattended: true` and produced no records between them
until this was wired by hand.

`init` also writes the `AGENTS.md` capture procedure into the repository, so
the instruction travels with the work rather than with the machine. An
`AGENTS.md` that already exists keeps every line it had.

### Records get their own identity

A capture with no `Record-Id` in its draft used to land on the commit anonymous,
and nothing reported it. Supersession then had nothing to name, collision
detection had no key, and the injected payload rendered `-` where the id
belongs — so an agent could not cite the constraint it was about to follow.

The pipeline now mints one from the record's own content: stable if a capture
is retried, never replacing an id the draft supplied, and never minted for a
draft that was rejected.

### Hosts, and what each of them actually does

| Host | Delivery | Capture |
|---|---|---|
| Claude Code | plugin | plugin |
| Codex | plugin — `commitlore plugin install-codex` | plugin |
| Hermes | `commitlore hermes install` | same command |
| Other `AGENTS.md` hosts | yes | a written procedure the host may or may not follow |

The last row is the honest one and the README now says it in those words. A
host without a plugin gets guidance, not a mechanism.

Codex and Hermes both gained a real installation this release. Hermes needed
its own: its skills load from a configured directory, and an earlier attempt
that wrote a bundle into the source checkout was never found by a live session.

### Queries stop blocking on a cold index

A path-scoped query on a repository with no index used to rebuild the whole
index first — 186 seconds on a 21,446-commit repository, on the path that runs
before every edit. A caller with a shorter timeout killed it, and the next edit
started cold again, so the index could stay cold forever.

A consumer query now catches an index up but never rebuilds it, and the
fallback materialises the corpus once instead of once per path alias.

### Fewer warnings that could not be acted on

`context` warned about an unfetched notes mirror in repositories where no notes
ref existed anywhere, pointing at a fix that could not change anything, while
`doctor --fix` called the same checks `ok`. `doctor --fix` now asks each remote
what it advertises and records the answer; the query reads that. A repository
that has genuinely never been checked still warns — that case is why the
warning exists.

### Upgrading

Nothing to migrate. Re-run `commitlore init` in each repository to pick up the
MCP registration and the `AGENTS.md` section; it is idempotent and leaves an
existing policy file, `.mcp.json` entry or `AGENTS.md` alone.

If you use Codex or Hermes, run its installer once — `commitlore plugin
install-codex` or `commitlore hermes install` — and start a new session
afterwards, since both load their skill at session start.

### Still true, and worth repeating

Capture needs an agent host. An ordinary `git commit` typed by a person
initiates nothing and by design never will: there is no transcript, and a
record invented from a diff would be a claim about a decision nobody made.
`doctor` reports whether this repository has an initiator rather than assuming
the policy file implies one.

### Also in this release

The agent tooling whose local config shipped in 0.5.0 as `.serena/` is no
longer used, and the configuration that kept it out of future runs is retired
with it: the ignore entry, the manifest-test guard, and the task-level comments
that named it. The bench evidence still names the directory, because that is
what the recorded runs saw (#514).

## 0.7.1

Expand Down
8 changes: 4 additions & 4 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Codex 自身の CLI を通じて marketplace と plugin を登録し、設定や
**その他のコーディングエージェント** — CLI をインストールします:

```bash
curl -fsSL https://github.com/ghraw/MongLong0214/commitlore/v0.7.1/install.sh | sh
curl -fsSL https://github.com/ghraw/MongLong0214/commitlore/v0.8.0/install.sh | sh
```

**Hermes** — CLI をインストールした後、host integration を設定します:
Expand Down Expand Up @@ -117,11 +117,11 @@ commitlore context .

```bash
# installer を固定してダウンロードし、確認してから実行します。
curl -fsSLO https://github.com/ghraw/MongLong0214/commitlore/v0.7.1/install.sh
sh install.sh v0.7.1
curl -fsSLO https://github.com/ghraw/MongLong0214/commitlore/v0.8.0/install.sh
sh install.sh v0.8.0

# あるいはスクリプトを使わずに。スクリプトが作るチェックアウトは自分でも作れます。
git clone --depth 1 --branch v0.7.1 https://github.com/MongLong0214/commitlore
git clone --depth 1 --branch v0.8.0 https://github.com/MongLong0214/commitlore
node commitlore/dist/commitlore.mjs --version
```

Expand Down
8 changes: 4 additions & 4 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Codex의 자체 CLI로 marketplace와 plugin을 등록하며, 설정이나 cache
**그 밖의 코딩 에이전트** — CLI를 설치한다:

```bash
curl -fsSL https://github.com/ghraw/MongLong0214/commitlore/v0.7.1/install.sh | sh
curl -fsSL https://github.com/ghraw/MongLong0214/commitlore/v0.8.0/install.sh | sh
```

**Hermes** — CLI를 설치한 뒤 host integration을 설정한다:
Expand Down Expand Up @@ -117,11 +117,11 @@ commitlore context .

```bash
# 설치기를 고정해 내려받고 살펴본 뒤 실행한다.
curl -fsSLO https://github.com/ghraw/MongLong0214/commitlore/v0.7.1/install.sh
sh install.sh v0.7.1
curl -fsSLO https://github.com/ghraw/MongLong0214/commitlore/v0.8.0/install.sh
sh install.sh v0.8.0

# 또는 스크립트를 건너뛴다. 스크립트가 만드는 체크아웃은 직접 만들 수 있는 것과 같다.
git clone --depth 1 --branch v0.7.1 https://github.com/MongLong0214/commitlore
git clone --depth 1 --branch v0.8.0 https://github.com/MongLong0214/commitlore
node commitlore/dist/commitlore.mjs --version
```

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Prerequisites for either path: Node.js 22+ and Git. The script checks both befor
**Any other coding agent** — install the CLI:

```bash
curl -fsSL https://github.com/ghraw/MongLong0214/commitlore/v0.7.1/install.sh | sh
curl -fsSL https://github.com/ghraw/MongLong0214/commitlore/v0.8.0/install.sh | sh
```

**Hermes** — after installing the CLI, configure its host integration:
Expand Down Expand Up @@ -123,11 +123,11 @@ The one-liner is for convenience. For a reviewed or pinned install, download and

```bash
# Pin and inspect the installer before executing it.
curl -fsSLO https://github.com/ghraw/MongLong0214/commitlore/v0.7.1/install.sh
sh install.sh v0.7.1
curl -fsSLO https://github.com/ghraw/MongLong0214/commitlore/v0.8.0/install.sh
sh install.sh v0.8.0

# Or skip the script entirely: the checkout it makes is one you can make yourself.
git clone --depth 1 --branch v0.7.1 https://github.com/MongLong0214/commitlore
git clone --depth 1 --branch v0.8.0 https://github.com/MongLong0214/commitlore
node commitlore/dist/commitlore.mjs --version
```

Expand Down
8 changes: 4 additions & 4 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ commitlore plugin install-codex
**其他编程代理** — 安装 CLI:

```bash
curl -fsSL https://github.com/ghraw/MongLong0214/commitlore/v0.7.1/install.sh | sh
curl -fsSL https://github.com/ghraw/MongLong0214/commitlore/v0.8.0/install.sh | sh
```

**Hermes** — 安装 CLI 后,配置它的 host integration:
Expand Down Expand Up @@ -115,11 +115,11 @@ commitlore context .

```bash
# 固定版本并检查 installer 后再执行。
curl -fsSLO https://github.com/ghraw/MongLong0214/commitlore/v0.7.1/install.sh
sh install.sh v0.7.1
curl -fsSLO https://github.com/ghraw/MongLong0214/commitlore/v0.8.0/install.sh
sh install.sh v0.8.0

# 或者完全不用脚本:它创建的检出,你自己也能创建。
git clone --depth 1 --branch v0.7.1 https://github.com/MongLong0214/commitlore
git clone --depth 1 --branch v0.8.0 https://github.com/MongLong0214/commitlore
node commitlore/dist/commitlore.mjs --version
```

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "commitlore",
"version": "0.7.1",
"version": "0.8.0",
"description": "Git-native, lifecycle-aware decision memory for coding agents",
"license": "MIT",
"private": true,
Expand Down
Loading