Skip to content

chore(sync): reconcile the #509 ledger entries with their merged PR - #511

Merged
IgorShevchik merged 1 commit into
mainfrom
chore/sync-ledger-509
Aug 29, 2026
Merged

IgorShevchik merged 1 commit into
mainfrom
chore/sync-ledger-509

Conversation

@IgorShevchik

Copy link
Copy Markdown
Collaborator

Bookkeeping for #509.

.sync/PORTING.md has the ledger entry written in the same commit as the port, which means pr and b24ui_sha cannot be known yet — they go in as pending-merge and are reconciled once the PR squash-merges. #509 merged as 7203420b, so the three entries it recorded now point at it:

upstream commit decision was now
a494a97d — fix(Form): omit method attribute on nested forms port pending-merge 509 / 7203420b
3d2de0ce — fix(Slider): emit a number for a single thumb port pending-merge 509 / 7203420b
ae243116 — docs: refactor with nuxt-agent-discovery module skip pending-merge 509 / 7203420b

Scope

Six lines in .sync/nuxt-ui.json, nothing else. No entry is added, cursor does not move, no decision or summary changes, and no .sync/log/*.md file is touched — those never carried the placeholder.

grep -rn pending-merge .sync/ is now empty, which is the state the ledger is supposed to be in between ports.

Verification

test/utils/commit-parses.spec.ts and test/utils/dep-parity.spec.ts — the two suites that read this file — pass: 90 tests, 2 files.


Generated by Claude Code

`a494a97d`, `3d2de0ce` and `ae243116` were written while their port was
still open, so all three carried `pending-merge` in both `pr` and
`b24ui_sha`. #509 squash-merged as `7203420b`; this points them at it.

Bookkeeping only — no ledger entry is added, the cursor does not move,
and no decision changes.
@IgorShevchik
IgorShevchik force-pushed the chore/sync-ledger-509 branch from ca0f7a7 to 0580150 Compare August 29, 2026 05:42
@IgorShevchik
IgorShevchik merged commit 72fd8ac into main Aug 29, 2026
2 checks passed
@IgorShevchik
IgorShevchik deleted the chore/sync-ledger-509 branch August 29, 2026 05:54
IgorShevchik pushed a commit that referenced this pull request Aug 30, 2026
A routine sync check turned up two drifts in `.sync/nuxt-ui.json` that no
guard could see, because both are only visible when the whole file is
tallied rather than diffed one entry at a time.

`decision` had two spellings for one verdict: 50 entries `no-op`, 14
`noop`, interleaved across the same period. That is not cosmetic — the
ledger is queried by decision when answering "what did we skip, and why",
and a query written against one spelling silently omits the rest. The 14
are normalised, and §6 step 4 now writes the vocabulary down as closed:
`port`, `no-op`, `skip`, `n/a`.

`pr` was a number in all 277 older entries and a string in exactly the
three #511 added, which is this session's own error; `vue-tsc` caught it
the moment the file was typed at all. Those three are now numbers.

`b24ui_sha` splits the same way — 155 abbreviated, 125 full — and is left
split on purpose: both resolve under `git show`, which is the field's only
use, so the guard checks for a value that resolves to *nothing* rather
than for a uniformity worth 280 rows of diff.

`test/utils/sync-ledger.spec.ts` holds all of it, plus the invariants that
were unenforced either way: full-SHA keys, a `cursor` that is one of the
processed commits, no entry still carrying `pending-merge`, and a
non-empty `summary`. Ten mutations verified, each failing exactly one
assertion.

Two findings from the same audit are deliberately not fixed here and are
recorded in PORTING.md: four entries at the very start of the ledger have
no `.sync/log/<sha>.md`, predating the convention by one commit, and
writing that reasoning now would be reconstruction rather than record.
IgorShevchik added a commit that referenced this pull request Aug 30, 2026
…pe (#515)

A routine sync check turned up two drifts in `.sync/nuxt-ui.json` that no guard
could see, because both are only visible when the whole file is tallied rather
than diffed one entry at a time.

`decision` had two spellings for one verdict: 50 entries `no-op`, 14 `noop`,
interleaved across the same period. That is not cosmetic — the ledger is queried
by decision when answering "what did we skip, and why", and a query written
against one spelling silently omits the rest. The 14 are normalised, and §6 step
4 now writes the vocabulary down as closed: `port`, `no-op`, `skip`, `n/a`.

`pr` was a number in all 277 older entries and a string in exactly the three
#511 added; `vue-tsc` caught it the moment the file was typed at all. Those
three are now numbers. `b24ui_sha` splits the same way — 155 abbreviated, 125
full — and is left split on purpose: both resolve under `git show`, which is the
field's only use, so the guard checks for a value that resolves to nothing
rather than for a uniformity worth 280 rows of diff.

`test/utils/sync-ledger.spec.ts` holds all of it, plus the invariants that were
unenforced either way: full-SHA keys, a `cursor` that is one of the processed
commits, no entry still carrying `pending-merge`, and a non-empty `summary`.
Ten mutations verified, each failing exactly one assertion.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants