Follow-up to #632, on the wording that #656 (aafd5ab) introduced. Field use of v1.2.0 on MongLong0214/logic-pro-mcp.
#632 asked one question directly: "Is there a local note waiting?" The new line answers it unconditionally with yes, without checking. When the answer is no, the line reports data that does not exist as unsent.
What happened
$ git push --force-with-lease=... origin HEAD:docs/adr009-popup-measured
commitlore: notes mirror (origin) failed: the 2s this hook waits for the remote ran out.
The branch was pushed; the records for these commits are still only local. The next push
retries this automatically, or run "commitlore sync" to send them now.
+ 9761c86d...4bd280dc HEAD -> docs/adr009-popup-measured (forced update)
So I ran what it named:
$ commitlore sync
origin nothing-to-do no notes mirror on either side
pr270-fork nothing-to-do no notes mirror on either side
pr54-fork nothing-to-do no notes mirror on either side
There is nothing to send. Checked three ways, all agreeing:
$ git for-each-ref refs/notes/ # (empty — no notes ref exists at all)
$ git notes --ref=commitlore show 4bd280dc # (empty)
$ git log -1 --format='%B' 4bd280dc | grep -iE '^[A-Za-z-]+:' # (no trailers)
"the records for these commits are still only local" is false: there are no records for these commits, in any location.
Why this is worse than what #632 reported
The v0.8.2 line was spawnSync git ETIMEDOUT; branch push continues — vague, but it only claimed a timeout. The v1.2.0 line is specific and asserts a fact about my repository's contents that it did not measure. I acted on it (ran sync, then went looking for the hook), which is the cost #632 was filed to remove.
The timeout is on reaching the remote. Whether local notes exist is a purely local question — git for-each-ref refs/notes/ — and does not depend on the remote answering. The message can be accurate at zero network cost.
Suggestion
Branch on the local check, which cannot time out:
- no local notes ref → "Could not reach the remote to check the notes mirror. Nothing is waiting locally, so nothing was lost."
- local notes present → the current sentence, which would then be true.
Second, smaller thing
commitlore sync iterates every remote and lets a plain git failure through for an unreachable one:
$ commitlore sync
fatal: repository 'https://github.com/narukijima/logic-pro-mcp.git/' not found
origin nothing-to-do no notes mirror on either side
That remote is a deleted fork, so failing is correct; surfacing it as a bare fatal: above the table reads as though sync itself failed. A row in the table (fork unreachable remote not found) would keep the report in one shape.
Follow-up to #632, on the wording that #656 (
aafd5ab) introduced. Field use of v1.2.0 onMongLong0214/logic-pro-mcp.#632 asked one question directly: "Is there a local note waiting?" The new line answers it unconditionally with yes, without checking. When the answer is no, the line reports data that does not exist as unsent.
What happened
So I ran what it named:
There is nothing to send. Checked three ways, all agreeing:
"the records for these commits are still only local" is false: there are no records for these commits, in any location.
Why this is worse than what #632 reported
The v0.8.2 line was
spawnSync git ETIMEDOUT; branch push continues— vague, but it only claimed a timeout. The v1.2.0 line is specific and asserts a fact about my repository's contents that it did not measure. I acted on it (ransync, then went looking for the hook), which is the cost #632 was filed to remove.The timeout is on reaching the remote. Whether local notes exist is a purely local question —
git for-each-ref refs/notes/— and does not depend on the remote answering. The message can be accurate at zero network cost.Suggestion
Branch on the local check, which cannot time out:
Second, smaller thing
commitlore synciterates every remote and lets a plain git failure through for an unreachable one:That remote is a deleted fork, so failing is correct; surfacing it as a bare
fatal:above the table reads as thoughsyncitself failed. A row in the table (fork unreachable remote not found) would keep the report in one shape.