Skip to content

chore(deps): bump amplihack-memory to #129 + repoint lbug to fork (lbug portability fix #3119) - #3171

Merged
rysweet merged 3 commits into
mainfrom
chore/bump-memory-lib-lbug-fork-fix
Jul 8, 2026
Merged

chore(deps): bump amplihack-memory to #129 + repoint lbug to fork (lbug portability fix #3119)#3171
rysweet merged 3 commits into
mainfrom
chore/bump-memory-lib-lbug-fork-fix

Conversation

@rysweet

@rysweet rysweet commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Problem

Prebuilt lbug 0.17.1 SIGSEGVs in std::vformat during Database::initBufferManager on hosts whose libstdc++ std::format ABI differs from the prebuilt (Ubuntu 26.04), and its build.rs double-links the bundled third-party archives in source mode (duplicate symbols). This blocked running Simard-family agents (Crocutus, the platform installer) on modern hosts.

Fix

Consumes amplihack-memory-lib #129 (rev 5807d056), which pins lbug to the rysweet/ladybug-rust fork (build.rs keeps link_bundled_deps=false, links only the self-contained liblbug.a). Building from source both cures the ABI SIGSEGV and links cleanly — no unsafe --allow-multiple-definition.

Simard's direct lbug dep (simard-tui's read-only goal-board reader) is repointed at the same fork rev so cargo unifies to exactly one lbug crate / one engine / one storage format.

Verification

Fixes Simard #3119.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

rysweet and others added 3 commits July 8, 2026 14:19
… (lbug portability fix, #3119)

Consumes amplihack-memory-lib #129 (rev 5807d056): the lbug portability fix.
Published crates.io lbug 0.17.1 SIGSEGVs in std::vformat during
Database::initBufferManager on hosts whose libstdc++ std::format ABI differs
from the prebuilt (Ubuntu 26.04), and its build.rs double-links the bundled
third-party archives in source mode (duplicate symbols). The fix pins lbug to
the rysweet/ladybug-rust fork (link_bundled_deps=false, links only the
self-contained liblbug.a): from-source cures the ABI SIGSEGV and links cleanly
with no unsafe --allow-multiple-definition.

Simard's direct `lbug` dep (used by simard-tui's read-only goal-board reader) is
repointed at the SAME fork rev so cargo unifies to exactly one lbug crate / one
engine / one storage format. Verified: Cargo.lock has a single lbug (0.17.0,
fork); `cargo build --bin simard --bin simard-tui` succeeds. The fork engine
writes on-disk format v42 (forward-only from v41).

This unblocks running Simard-family agents (Crocutus, the platform installer)
from source on newer-libstdc++ hosts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
)

The lbug portability fix repoints lbug at the rysweet/ladybug-rust fork; add it
to the [sources] allow-git allowlist so cargo-deny's unknown-git=deny policy
passes. Verified locally: `cargo deny check sources` -> sources ok.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ork git dep

The pin-bump broke three guards in issue_2626_amplihack_pin_bump.rs:
- MEMORY_TARGET_REV was the old 72c5ea1b (#126); bump it to 5807d056 (#129, the
  lbug portability fix) and move MEMORY_STALE_REV to 72c5ea1b as the new
  anti-regression sentinel.
- direct_lbug_pin_matches_the_single_locked_version assumed lbug is a crates.io
  `= "=X"` version pin. lbug is now a git dep on the rysweet/ladybug-rust fork,
  so the guard now asserts the direct lbug is a git dep on the fork remote at the
  expected full-SHA rev AND that Cargo.lock resolves exactly one lbug from that
  fork rev (single engine / one store format — the invariant is unchanged).

All 9 guards pass locally.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rysweet
rysweet merged commit 2988107 into main Jul 8, 2026
15 checks passed
@rysweet
rysweet deleted the chore/bump-memory-lib-lbug-fork-fix branch July 8, 2026 15:15
rysweet added a commit that referenced this pull request Jul 8, 2026
…3119 regression) (#3228)

The lbug portability fix (#3171) changed the direct `lbug` dependency from a
crates.io version pin (`lbug = "=0.17.1"`) to a git dependency on the
rysweet/ladybug-rust fork. That broke `scripts/provision-lbug-prebuilt.sh`'s
`lbug_version()`, which only parsed a `lbug = "=X.Y.Z"` manifest line — it now
returns empty, so the coverage CI job (and the pre-commit clippy wrapper) die
with "could not determine lbug version from Cargo.toml" on every PR off main.

Fall back to the resolved version in Cargo.lock (`[[package]] name = "lbug"`
-> `version = "0.17.0"`) when the manifest line carries no version. Verified the
patched parser resolves 0.17.0 from the current git-dep manifest.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.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