Release 1.2.0 - #791
Merged
Merged
Conversation
Thirty-one commits since 1.1.4. The release that makes later releases discoverable, and three places where the tool was doing work nobody read. `commitlore upgrade` exists. There was no way to find out that a newer CommitLore existed, so a repository initialised on a stale install kept validating every commit with a stale protocol and nothing said so. Both installers now register the same hook and only one of them registers it. A CLI install used to deliver nothing when the agent edited with MultiEdit, a plugin install nothing when it read a file first, and following the README to the plugin and then running `init` answered every matched tool call twice. A hook fire costs a third less and a rebuild an order of magnitude: 528 ms to 399 ms on a path with records, 45 s to 2.3 s for a rebuild here, and over two minutes to 2.2 s on ten thousand commits. Record-Id: r-release120 Provenance: authored Certainty: firm Blast: system Undo: easy Limit: the passive notice only speaks once a check has landed, so the first invocation after this install says nothing however out of date the next release finds it. That is the trade the zero-latency design buys, and the answer arrives on the following command Verified: 3359 tests pass on this branch. The lockfile's two version fields were set by parsing the JSON rather than substituting text, which would also have matched four dependencies genuinely at 1.1.4; the README pins were anchored to the three install shapes rather than the bare version, leaving the release-boundary prose that a blanket bump would have made false; and `git status` shows the artifact manifest moved while nothing under `dist/` did, which is what tells you the bundle needed no rebuild and the manifest did CommitLore-Version: 2.0.0
CommitLore — record lintTrailers: clean — 2 commits in Active constraints for the paths this PR touchesLimits (228)
Ruled out (321)
Truncated: 267 lines omitted — the comment hit GitHub's 65000 character limit. Trailer violations fail this check. Active constraints are informational — they are what the repository already decided, not a verdict on this PR. |
Every change in 1.2.0 passed the gate and none of it had a cross-provider review: the reviewers this project uses were out of quota on the day it shipped. Somebody asking later whether 1.2.0 was reviewed has no answer unless this is written down, and the honest answer is no. Claude reviewing Claude is named as not being a second opinion, because it reads like one. Two of today's conclusions were reversed by an outside reviewer -- #781, where my design would have left CLI-only users silently without delivery, and #782, where a corrupt index would have reached the agent looking exactly like a path with no records. Neither was something I found by looking harder. Record-Id: r-releasereviewstatus Provenance: authored Certainty: firm Blast: local Undo: easy Limit: this records the absence of a review, which is not the same as recording what a review would have found. It says the gate was the only thing that ran Verified: the artifact manifest did not move, which is the check that `CHANGELOG.md` is not a source input and this needed no rebuild CommitLore-Version: 2.0.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cross-provider review unavailable. grok is at HTTP 402 and codex is over its usage limit as of 2026-08-19; the Hermes gateway is out of credentials for the same reason. This carries gate-green only. Claude reviewing Claude is not cross-provider — the same model family shares blind spots — so nothing here has had a second provider's eyes.
Blocked only on CI. Merge when green, then tag
v1.2.0on the merge commit.Release 1.2.0. Thirty-one commits since 1.1.4.
What a user gets
commitlore upgrade— there was no way to find out a newer CommitLore existed.--versionreported what was running and compared it to nothing, so a repository initialised on a stale install kept validating commits with a stale protocol and nothing said so. This is the release that makes later releases discoverable, which is why holding it costs more than shipping it.Both installers register the same hook, and only one of them. A CLI install delivered nothing when the agent edited with
MultiEdit; a plugin install delivered nothing when it read a file before deciding. And following the README to the plugin and then runninginitanswered every matched tool call twice.A hook fire costs a third less; a rebuild an order of magnitude.
Fixed: a partial index answered with silence, which reads as "no records here" (#778); a rebuild could not get past a schema change (#779) and could not open a damaged index at all (#785).
Issues closed since 1.1.4
#742 · #775 · #776 · #778 · #779 · #781 · #782 · #785
The bump itself
Four manifests, twenty-eight pins across four READMEs and both installers, the CHANGELOG entry, and the artifact manifest.
Three things this release procedure gets wrong if done quickly, all avoided here and all recorded:
package-lock.jsoncarries the version twice and a text substitution for"1.1.4"also matches four dependencies genuinely at that version. Both fields were set by parsing the JSON.README.mdcarries prose about release boundaries — "One installed before v1.0.2" — which is a historical fact that a blanket bump turns into a false statement, and no test reads it.dist/needs no rebuild but the artifact manifest does. The bundle reads its version at runtime, so the bytes are identical; the manifest binds the source inputs, so the bump alone moves its digest.git statusshowsinstaller/canonical-artifact.jsonand nothing underdist/, which is the check that this was done right.