Skip to content

wire gascity go.mod: replace beads => zookanalytics/beads@main (committed, drop go.work) (gc-o4o10)#84

Merged
johnzook merged 1 commit into
mainfrom
polecat/gc-o4o10
Jun 24, 2026
Merged

wire gascity go.mod: replace beads => zookanalytics/beads@main (committed, drop go.work) (gc-o4o10)#84
johnzook merged 1 commit into
mainfrom
polecat/gc-o4o10

Conversation

@zook-bot

Copy link
Copy Markdown

Summary

GOAL: Make gascity build durably against our beads fork (zookanalytics/beads) main, replacing the local go.work hack with a committed go.mod replace. Operator-approved 2026-06-24 (keeper decision on gc-xciwp). The Dolt schema migration is ALREADY done town-wide (operator confirmed) — this is a PURE dependency-wiring change, NO migration concern.

EXACT CHANGE (in your gascity polecat worktree):

  1. Add a committed replace to gascity go.mod pinning the upstream beads module path to our fork main tip (currently zookanalytics/beads origin/main = 126bceaf0):
    go mod edit -replace=github.com/steveyegge/beads=github.com/zookanalytics/beads@main
    go mod tidy
    This resolves @main to a pinned pseudo-version and updates go.sum. The fork KEEPS module path github.com/steveyegge/beads, so this is a clean drop-in — NO import changes anywhere.
  2. Do NOT edit import statements. Do NOT hand-edit the require github.com/steveyegge/beads v1.0.4 line — let go mod tidy reconcile require/replace/go.sum.
  3. The existing go.work (use ( . /home/zook/beads )) is UNTRACKED / local-only — it is NOT in the repo, so it will not be in your worktree and is NOT part of this change.

VERIFY:

  • go build ./... succeeds.
  • go vet ./... clean (or pre-existing failures only).
  • go list -m github.com/steveyegge/beads shows the zookanalytics replacement at the fork-main pseudo-version (must include the events.id fix dc0561af2 — it is on fork main).
  • go.sum updated.

DELIVERABLE: a feature branch carrying go.mod (+ go.sum) with the committed replace; push it and hand to the refinery for a PR on the fork (zookanalytics/gascity) -> Codex review -> operator merge (bead->PR->Codex; merge is operator-gated). Do NOT push main. Implements keeper bead gc-xciwp.

Implementation notes

Implemented: committed go.mod replace pinning github.com/steveyegge/beads => github.com/zookanalytics/beads@main (v0.0.0-20260623014633-126bceaf0f14, fork main tip incl. events.id fix dc0561af2). go mod tidy reconciled transitive dolt deps + go.sum. require stays v1.0.4, no import changes. Verified: go build ./... + go vet ./... clean; go list -m shows replacement; internal/beads unit tests pass. Branch polecat/gc-o4o10 pushed to origin (zookanalytics/gascity). Implements keeper bead gc-xciwp.

Refinery handoff

  • Issue: gc-o4o10 (task)
  • Source branch: polecat/gc-o4o10
  • Target: main
  • Rebased on main (07a39a9); gates GREEN: make build + make vet + make test.

Pin github.com/steveyegge/beads to the zookanalytics/beads fork at its
main tip via a committed go.mod replace, so the build resolves the fork
durably without the local-only go.work hack.

- go mod edit -replace=github.com/steveyegge/beads=github.com/zookanalytics/beads@main
- go mod tidy resolved @main to v0.0.0-20260623014633-126bceaf0f14 and
  reconciled the transitive dolt deps (dolt/go, go-mysql-server, vitess,
  driver/v2, cockroachdb/apd/v3) plus go.sum.

The require line stays at v1.0.4 and no imports change: the fork keeps the
module path github.com/steveyegge/beads, so this is a clean drop-in. The
resolved tip includes the events.id fix (dc0561af2).

Verified: go build ./... and go vet ./... clean; go list -m shows the fork
replacement; internal/beads unit tests pass against the fork.

Implements keeper bead gc-xciwp.

@zook-bot zook-bot left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

No blocking code findings in the dependency wiring itself.

Local verification on the PR head:

  • go list -m -json github.com/steveyegge/beads resolves github.com/steveyegge/beads v1.0.4 through the committed replace to github.com/zookanalytics/beads v0.0.0-20260623014633-126bceaf0f14.
  • No repo-root go.work is present.
  • go mod tidy && git diff --exit-code -- go.mod go.sum leaves the module files unchanged.
  • go mod verify, go test ./internal/beads/..., go build ./..., and go vet ./... pass locally.

GitHub Preflight / static checks is failing at make check-gomod-replace because the replace target is a pseudo-version. The guard says this requires a manual human-operator bypass; that matches the work bead's explicit operator-approved fork-main pin, so I am not requesting a code change from this review.

@zook-bot
zook-bot marked this pull request as ready for review June 24, 2026 04:21
@johnzook
johnzook merged commit fd543f2 into main Jun 24, 2026
147 of 198 checks passed
johnzook pushed a commit that referenced this pull request Jun 25, 2026
…ld wiring) (#86)

Symptom: the committed `replace github.com/steveyegge/beads =>
github.com/zookanalytics/beads@<pseudo>` pin (a) went stale -- it pointed at
126bceaf (06-23), orphaned by a later fork-main rebase -- and (b) forced every
build of gc to fail the beads version_compat preflight, taking the in-process
native store offline (benign Dolt-server fallback, but a permanent stderr WARN
on every gc / gc bd call).

Root cause: the preflight (internal/beads/contract/preflight_checker.go
checkVersionCompat) compares bd's reported version -- a FROZEN "1.0.5" (bd
stamps only main.Build=<sha>, never main.Version) -- against gc's linked beads
module version. Fork main runs 200+ commits past the v1.0.5 tag, so any honest
versioned/pseudo pin resolves to v1.0.6-0-<pseudo> and can never string-match
"1.0.5"; the gate hard-fails for ANY versioned pin.

Fix: replace the versioned pin with a filesystem replace to the local ~/beads
checkout -- the same tree the bd binary is built from. gc's linked beads then
reports "(devel)", which the gate treats as a source build and passes (schema
version is the real compatibility signal), and gc and bd link a byte-identical
beads core that cannot skew across separate rebuilds. The pin can no longer go
stale (a filesystem replace tracks the working tree), and a missing ~/beads now
fails the build loudly instead of silently linking upstream v1.0.4.

Scope: this fork is built only on this host, via ~/loomington/build-optimized.sh.
The absolute path is intentional and documented in go.mod; a clone on any other
host fails loudly, which is preferable to the silent upstream-v1.0.4 downgrade a
bare require would produce. go.sum drops the now-unused zookanalytics/beads
entries (filesystem replaces need no checksum).

Supersedes the versioned-pin approach added in #84 (gc-o4o10).
Tracking: gc-j7e16.
zook-bot added a commit that referenced this pull request Jul 15, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 21, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 22, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 22, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
zook-bot added a commit that referenced this pull request Jul 22, 2026
…in (gc-o4o10) (#84) (per gc-vjoy6.14)

Original commit's intent ported to post-upstream code in the shared
rebase worktree. See gc-vjoy6.14 for context and metadata.classification.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants