From 9cae2b6197b6dc8d8120bd70c3556cfc1859d646 Mon Sep 17 00:00:00 2001 From: MongLong0214 Date: Fri, 14 Aug 2026 13:54:12 +0900 Subject: [PATCH 1/2] Fix six defects grok's own review found in the hero SVG Two of them survived my acceptance. The agent appeared nowhere in the image, so "delivered to the next agent" was asserted rather than shown, and 19px text rendered at 5.9px at mobile width. viewBox 1200x340, a 22px floor with 24px for required elements, aria-labelledby and aria-describedby, no strikethrough, and the superseded entry is now a genuinely different record rather than the same one crossed out. Five colours, no gradient, no external asset. Limit: this renders in the README's first screen, so required wording must stay legible at mobile width Record-Id: r-herosvg643 Blast: local Undo: easy Certainty: firm X-Claude-Session: https://claude.ai/code/session_01Go54NtZpaoNMRtmYtPLX6R --- assets/readme/hero.svg | 43 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/assets/readme/hero.svg b/assets/readme/hero.svg index c48ba177..c8484acd 100644 --- a/assets/readme/hero.svg +++ b/assets/readme/hero.svg @@ -1,26 +1,17 @@ - - CommitLore — Your agents inherit the code. Make them inherit the judgment. - A fresh coding agent receives the active decision for a path, carrying a ruled-out alternative and its reason, while a superseded record is withheld because a later decision reversed it. - - - - GIT-NATIVE DECISION LAYER - Your agents - inherit the code. - Make them inherit - the judgment. - Only the decisions still in force reach the next edit. - - - - A FRESH AGENT RECEIVES - - [active]r-demo02 - Ruled-out: Redis cluster - | cost disproportionate - - [superseded]r-demo01 - withheld — reversed later - - commit trailer → lifecycle → hook context - + + CommitLore delivers current decisions for a file to the next agent + Active Limit and Ruled-out records for src/pricing.ts are delivered to the next agent; an earlier superseded Limit is not delivered as current guidance. + + + src/pricing.ts + + ACTIVE + Limit — calculatePrice owns final checkout pricing only + Ruled-out — Reuse checkout pricing for admin quotes — eligibility and rounding differ + delivered to the next agent + + + SUPERSEDED + Earlier Limit — calculatePrice also served admin quotes + not delivered as current guidance + \ No newline at end of file From 5993aa2bb990d05cbb9f8013e3af031504a8db86 Mon Sep 17 00:00:00 2001 From: MongLong0214 Date: Fri, 14 Aug 2026 13:54:16 +0900 Subject: [PATCH 2/2] Correct four factual defects the A-Z review found in the README 1. The headline denominators contradicted the generated block. The prose claimed 16/580 and 109/579, while the checker-owned block in the same file reports 585 and 584 runs per arm with 110 in the off arm. The prose drifted because nothing owned it, which is the gap #590 is widening. 2. The Capture column's "Yes" read as deterministic autocapture. What is installed is the prepare, verify and stage path. That every eligible commit reaches a terminal assessment on its own is certified nowhere. 3. The Provenance vocabulary listed three of its five values. SPEC section 3 carries drafted and unknown as well, and drafted is what unattended capture writes, so the omitted value was the likeliest one to meet. 4. "Every route uses the same trust grading" stated an intention as an observation. A record has been observed grading directive through the CLI and claim through MCP with more than one runtime installed. The structure is untouched. Section order and the demo asset are bound across all four language files, so the English file cannot move alone. Limit: section order, demo asset and exposure table are cross-file contracts over four language files Ruled-out: Restructure the English product entry page alone | T-1015 and T-1016 enforce four-file consistency and the translations belong to #590 Record-Id: r-readmefact643 Blast: module Undo: easy Certainty: firm X-Claude-Session: https://claude.ai/code/session_01Go54NtZpaoNMRtmYtPLX6R --- README.md | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 3deda86f..4b0de49d 100644 --- a/README.md +++ b/README.md @@ -200,12 +200,18 @@ separate layers: | Gemini CLI, Cursor, Windsurf, opencode | **Yes — the MCP server is wired by `install.sh`.** | **Procedure, not automatic.** The server states the prepare → verify → stage procedure in its `instructions` on every connection. The host may or may not act on it. | | Any other `AGENTS.md`-convention host | **Procedure, not automatic.** `commitlore init --agents-md` writes it into the repository. | **Procedure, not automatic.** Same file, same caveat. | -“Yes” means the layer is installed, not that every commit gains a record. -Most commits should carry none. The first three rows install a skill that -drives capture; the fourth receives the same procedure over MCP, which is what -a host that loads no skills has to work from — verified with the plugin -disabled, and it captured. Whether a given host surfaces those instructions to -its model is the host's choice, and nothing here detects it. A host still has to start capture, and the candidate must pass +“Yes” in the Capture column means the workflow is installed and available — the +prepare → verify → stage path exists for that host. It does not mean every +eligible commit reaches a terminal assessment on its own. **That stronger +property, deterministic autocapture, is not certified on any host yet**, so +treat capture as available rather than guaranteed. Most commits should carry no +record in any case. + +The first three rows install a skill that drives capture; the fourth receives +the same procedure over MCP, which is what a host that loads no skills has to +work from — verified with the plugin disabled, and it captured. Whether a given +host surfaces those instructions to its model is the host's choice, and nothing +here detects it. A host still has to start capture, and the candidate must pass verification before the commit hook attaches it. The commit-msg hook validates a record when present; it never invents one. @@ -270,12 +276,12 @@ rather than in a review comment after. **Whether it acts on that is now measured.** Across 1,160 registered runs, an agent handed the repository's active records re-proposed a ruled-out approach in -**2.8%** of them (16/580). Without them: **18.8%** (109/579). +**2.7%** of them (16/585). Without them: **18.8%** (110/584). | arm | re-proposed a ruled-out approach | |---|---:| -| the agent alone | **18.8%** (109/579) | -| **with CommitLore** | **2.8%** (16/580) | +| the agent alone | **18.8%** (110/584) | +| **with CommitLore** | **2.7%** (16/585) | **The threshold was registered before the run**, and the preregistration predicted a *smaller* effect than it got — that prediction, with its stated @@ -513,7 +519,7 @@ CommitLore-Version: 2.0.0 | `Follows:` / `Supersedes:` | Decision-chain and lifecycle links | | `Expires:` | Date or condition that ends a limit | | `Evidence:` | Path, anchor, or URL supporting a claim | -| `Provenance:` | `authored` \| `inherited ` \| `reconstructed` | +| `Provenance:` | `authored` \| `drafted` \| `inherited ` \| `reconstructed` \| `unknown` | | `CommitLore-Version:` / `X-*:` | Protocol identity and extensions | Read a path's history with `commitlore context `. Smaller examples, and how to read records with plain Git instead, are in [docs/protocol.md](docs/protocol.md); the normative definitions are in [SPEC §3](spec/SPEC.md). @@ -521,7 +527,7 @@ Read a path's history with `commitlore context `. Smaller examples, and ho ## What the repository proves - Decision history survives rebase, remote transfer, and path renames in the tested Git workflows. Squash-merge discards the trailer block, as any ordinary trailer would be: `commitlore squash-preserve` or its GitHub Action carries the records across, and the tested workflows cover that route. -- Every route uses the same trust grading, so untrusted text is information rather than an instruction. +- Routes share one grading core, so untrusted text is information rather than an instruction — but a record has been observed grading differently through the CLI and through MCP when more than one CommitLore runtime was installed ([#631](https://github.com/MongLong0214/commitlore/issues/631), [#635](https://github.com/MongLong0214/commitlore/issues/635)). - Injection-like text in free-form trailers is withheld from model-readable routes. - A readable repository with no records is distinct from incomplete history or an unfetched notes mirror.