Skip to content

chore: seed .upstream-provenance.json so the link-(a) drift check can run - #5

Merged
CircuitBoardGames merged 1 commit into
mainfrom
chore/upstream-provenance
Jul 29, 2026
Merged

chore: seed .upstream-provenance.json so the link-(a) drift check can run#5
CircuitBoardGames merged 1 commit into
mainfrom
chore/upstream-provenance

Conversation

@CircuitBoardGames

Copy link
Copy Markdown
Owner

Seeds the root .upstream-provenance.json marker that the ClaudeCode maintainer agent's P2 vendor-sync pipeline reads (docs/agents/maintainer.md Part A.6a).

Why now

The pipeline has two links:

  • Link (b) — fork → vendored copy. Started working for this tree at the 2026-07-29 re-vendor, when the hub's last_vendored_sha stopped being null.
  • Link (a) — true upstream → fork. Has never been runnable here, because it reads this file and this fork did not have it.

The other three org forks were seeded per ClaudeCode issue Egonex-AI#46. This one was skipped deliberately and correctly: it carried no divergence, so there was nothing for link (a) to protect. That changed with PRs #1#4, so the marker is now load-bearing rather than a formality.

The SHA is measured, not assumed

last_synced_upstream_sha is defined as the fork's merge-base with upstream. Measured via:

gh api "repos/Egonex-AI/Understand-Anything/compare/main...CircuitBoardGames:understand-anything-OKF:main"

merge_base = 2cda14e89535049e49120198886bc0b82e9e630f (2026-07-25), which is upstream's own merge of its PR Egonex-AI#598. Verified it resolves as a real upstream commit.

At seed time the fork is 8 ahead / 2 behind. So link (a) will report drift on its very first run — that is expected and is the marker doing its job. Both pending upstream commits are docs-only (a Korean README formatting fix and its merge), so nothing about that first drift is urgent.

Two notes carried in the file itself

  • This fork's divergence is permanent and is not offered upstream, so an upstream sync must rebase the divergence forward, never blind-merge — the same rule the other org forks carry.
  • Hazard specific to this fork: an upstream sync can move pnpm-lock.yaml, and a grammar re-resolving to a version with no musl prebuild turns a later install into a multi-MB g++ compile. Review lockfile changes in a sync PR rather than waving them through.

Keys match claude-obsidian-OKF and webobsidian-GitPusher exactly.

🤖 Generated with Claude Code

… run

The ClaudeCode maintainer's P2 vendor-sync pipeline has two links. Link (b)
(fork -> vendored copy) started working for this tree at the 2026-07-29 re-vendor.
Link (a) (true upstream -> fork) has never been runnable here, because it reads a
root `.upstream-provenance.json` that this fork did not have — the other three org
forks were seeded per ClaudeCode issue Egonex-AI#46 and this one was skipped, correctly, while
it carried no divergence worth tracking. It carries divergence now (PRs #1-#4), so
the marker is no longer a formality.

`last_synced_upstream_sha` is the merge-base with upstream, measured rather than
assumed: `Egonex-AI:main...CircuitBoardGames:main` reports merge_base
2cda14e (2026-07-25, upstream's own merge of Egonex-AI#598).
At seed time the fork is 8 ahead / 2 behind, so link (a) will report drift on its
first run — the two upstream commits are both docs-only, so nothing about that
first drift is urgent.

Co-Authored-By: Claude <noreply@anthropic.com>
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.

1 participant