Skip to content

docs(evidence): record the frozen fleet ledger for the atomic bundle migration - #25

Merged
ken-jo merged 1 commit into
mainfrom
evidence/atomic-bundle-fleet-ledger
Jul 25, 2026
Merged

docs(evidence): record the frozen fleet ledger for the atomic bundle migration#25
ken-jo merged 1 commit into
mainfrom
evidence/atomic-bundle-fleet-ledger

Conversation

@ken-jo

@ken-jo ken-jo commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Why

Every gate in the atomic-bundle migration asserts against a fleet ledger — released versions, source SHAs, keyword counts, SDK pins, minimum Host versions — but no ledger existed. Each gate would have re-derived its inputs by hand, and hand-derivation is exactly how the wrong ref gets frozen: three of the four canonical workspace checkouts sit on non-PR-head branches, and the lvis-app checkout does not even contain the authoritative merged main SHA.

What this records

Block 1, the tag-derivable half, measured read-only from the GitHub Contents and Git Refs APIs at exact refs. Blocks 2–4 are declared with their columns and prerequisites but left unrecorded: the catalog block needs Marketplace read access, and the bridge blocks do not exist yet.

Two measurements worth calling out:

The released keyword total is exactly 93; the frozen-main total is exactly 0.

slug keywords @ released tag keywords @ frozen main
lvis-plugin-git 15 0
local-indexer 9 0
meeting 5 0
ms-graph 9 0
ep-api 55 0
total 93 0

So the bridge artifacts derive from current main plus pin and version corrections, not from a keyword-stripping migration.

Every SDK pin in this fleet resolves through bun.lock to an annotated tag object, not to a commit. For example #45ccbe3 is the tag object 45ccbe36eb982c27d6da87d3cf7199e590bbde20, whose peeled commit is d25cb18af4a4ea1cea2fb448536b2bb1432514f1. Both are recorded, because a crossing comparison that mixes object types produces a false result. On this measurement lvis-plugin-git resolves to the same object at both refs and does not cross; ep-api is the only crossing row.

Also recorded: installPolicy per row, since it decides whether a publish is auto-approved into the live public catalog or parks in pending_review. Four of five are admin; only lvis-plugin-git is user.

Verification

Every value was read from an exact ref and re-read from the API after writing. No local working checkout was consulted.

Not verified: no catalog value is recorded, so nothing here is yet cross-checked against what the Marketplace actually serves. GitHub's "latest release" pointer disagrees with the newest tag for every plugin in this fleet, so the tag-derived rows are corroborating evidence, not proof of what is served.

Notes

ep-api is visibility="internal" in production and internal-ness is decided solely from CF-Connecting-IP against corporate CIDRs, so its catalog row will need an authorized internal requester — and a positive control before any absence assertion, so a not-found caused by network position is distinguishable from one caused by a yank.

Named authority holders and cutover machine identities are deliberately not in this file, which is public; they belong in a private operator record referenced by identifier.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JUxWDLEU9zprdSPiUxSqtB

…migration

Every gate in the atomic-bundle migration asserts against a fleet ledger, but no
ledger existed, so each gate would have re-derived its inputs by hand from
whatever ref happened to be checked out. Three of the four canonical workspace
checkouts sit on non-PR-head branches and the lvis-app checkout does not even
contain the authoritative merged main SHA, so hand-derivation is how the wrong
ref gets frozen.

This records block 1, the tag-derivable half, measured read-only from the GitHub
Contents and Git Refs APIs at exact refs: released tag and source SHA, frozen
main SHA, keyword counts at both refs, minAppVersion, installPolicy, manifest and
lockfile blob digests, and the resolved SDK object SHA.

Two measurements are worth calling out. The released keyword total is exactly 93
while the frozen-main total is exactly 0, so the migration's bridge artifacts
derive from main plus pin and version corrections rather than from a
keyword-stripping pass. And every SDK pin in this fleet resolves through bun.lock
to an annotated tag object rather than to a commit, so both the object SHA and
its peeled commit SHA are recorded; a crossing comparison that mixes the two
would produce a false result.

Blocks 2 to 4 are declared with their columns and prerequisites but left
unrecorded, because the catalog block needs Marketplace read access and the
bridge blocks do not exist yet.

Constraint: ep-api is visibility="internal" in production and internal-ness is
decided solely from CF-Connecting-IP against corporate CIDRs, so its catalog row
needs an authorized internal requester and a positive control before any absence
assertion.
Rejected: recording named authority holders and cutover machine identities here —
this file is public, so they belong in a private operator record referenced by
identifier.
Confidence: high for block 1; every value was read from an exact ref.
Scope-risk: none — this adds an evidence file and changes no workflow or code.
Tested: values re-read from the API after writing.
Not-tested: no catalog value is recorded, so nothing here is yet cross-checked
against what the Marketplace actually serves.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JUxWDLEU9zprdSPiUxSqtB
@ken-jo
ken-jo marked this pull request as ready for review July 25, 2026 09:37
@ken-jo
ken-jo requested a review from Copilot July 25, 2026 09:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ken-jo
ken-jo merged commit e94b6ef into main Jul 25, 2026
1 check passed
@ken-jo
ken-jo deleted the evidence/atomic-bundle-fleet-ledger branch July 25, 2026 10:16
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