build: remove Bazel build descriptions, tooling, and docs (#1646) - #1661
Conversation
WIP: remove BUILD.bazel/MODULE.bazel/tools/bazel and the Bazel CI scripts, move the CI Gate ruleset fixture to config/, drop the Bazel release-version surface, and re-derive the property-overlay scale-target check from Cargo and the nextest CI lane. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Drop bazelisk from pre-push-fast and the pre-push preflight, delete the Bazel docs and fold the still-true content (differential oracle, Python extension build modes) into testing.md, document the CI Gate Rust lane commands in agent-environment.md, and remove the remaining Bazel path cases, guards, comments, and the Bazel-only skills manifest override. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: CurateLabs/graphforge/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Review correction: original P1 withdrawn. The exact 19-entry map was regenerated from the napi-built addon and declarations to keep the retired assembler mirror aligned. It is not a fixed public export-count contract, and its aliases intentionally allowed undefined runtime values and multiple declaration forms. Removing this manual map/parity obligation is a valid part of builder retirement. Independent challenge against f131 confirmed surviving ESM/CommonJS product tests, GraphForge and belief-subject declaration assertions, and native functional coverage for returned handles. No runtime/type disagreement was established by this change. The BDD TypeScript check uses untyped require and is not claimed as index.d.ts agreement proof. The broad old kind scan does disappear, but that is a test-depth observation rather than a demonstrated regression or a requirement to retain an obsolete assembler map. This thread is resolved as a withdrawn finding, not as a claim that source was changed to restore it. The PR description should say the assembler was the only production generator; these tests also consumed the map for assembler parity. Differential-oracle CI selection and historical measurement retirement remain separate canonical #1618 completion gaps reported in the overview comments. Branch ownership stays with the author. |
|
Two additional independently verified canonical #1618 completion gaps at
The Node export-contract loss is the direct surviving-subject review finding already reported above. All implementation remains with the existing owner; this session does not modify the branch. |
|
Implementation note for restoring the differential feature in the existing lane: the new property-overlay CI-selection parser currently treats every non-option value as a positional test-name filter. An explicit |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Closes #1646
Part of #1618
Implements ADR 0048 decision item 4: Bazel is removed. The CI Gate Rust lane (
rust-tests, #1649) and Binding RC (#1651) no longer run Bazel. No workflow invokesbazel/bazeliskat the base of this branch, and none of the deleted scripts has a caller outsidedocs/development/bazel*.md,BUILD.bazel, or the other deleted scripts.What changed
Deleted: all 46
BUILD.bazelfiles,MODULE.bazel,MODULE.bazel.lock,cargo-bazel-lock.json,.bazelrc,.bazelversion, andtools/bazel/(drift fingerprint, parity map and suite, release platforms, perf sample, smoke crate,.bzlfiles). Also deleted:scripts/ci/{cargo-bazel-drift-check,cargo-bazel-parity-check,bazel-migration-ledger-check,bazel-cache-perf}.pyandassemble_bazel_binding_packages.py, each with itstest-*counterpart, plusdocs/development/bazel{,-bootstrap,-migration}.md.Moved:
tools/bazel/migration-evidence/ci-gate-ruleset-19988544.jsontoconfig/ci-gate-ruleset-19988544.json.verify-ci-gate-enforcement.pyand its test still read this ruleset fixture, and it now sits next toconfig/gate-registry.json.Re-derived, not deleted:
property-overlay-contract.pyused to check thatproperty_overlay_scalewas in the Bazelci_rust_testssuite. It now checks the same property against Cargo and the nextest lane:graphforge-storageis a workspace member and test autodiscovery is on.test = false, or custom-harness.rust-testsjob runs exactly one workspace-widecargo nextest run, with no--exclude/-pand no positional name filter.-Efilterset has the recognisednot ((package(..) and binary(..)) or ...)shape and excludes neither the storage package nor the scale binary.default-filteris configured.The mutation test proves that each of these 13 mutations is refused for its intended reason.
Release version:
set_release_version.pyno longer reads or writestools/bazel/gf_version.bzl(#1398). Thebazelsurface is gone from its tests, fromtest-release-publish-preflight.py, and from the #1395 Bazel-target check intest-crate-publish-plan.py.Gates:
pre-push-fastdrops the bazelisk preflight and the drift check. Thebazel-testtarget is removed.pre_push_validation.pypreflight no longer requires bazelisk.test_environment.pydrops its bazelisk adapter.python-build-mode-check.pydrops thecargo-bazel-lock.jsoncheck. The maturin feature-graph check remains.classify-changes.sh,docs-tree-policy.py,.gitignore,.dockerignore,dependabot.yml, and the PR template lose their Bazel cases.Docs:
agent-environment.mdgains a "Rust test gate" section with the exactrust-testscommands.bazel.mdmove intotesting.md: the differential traversal oracle and the Python test/extension build modes.AGENTS.md,CONTRIBUTING.md,contributing.md,release-process.md,ARCHITECTURE.md,OBSERVABILITY.md, andTESTING.mdnow describe the Cargo/nextest gate.Other
git grep -i bazelmatches:napi-export-surface.jsonis deleted. Its only consumer was the Bazel loader assembler, andexport-surface.test.mjskeeps its ESM/CJS resolution tests.graphforge-cli/build.rsdrops the Bazel-onlyGRAPHFORGE_PROJECT_SKILLS_MANIFESToverride.M2* -> Bazel-migration*is repaired. It produced "Bazel-migration0" in five Rust doc comments, which now say "knowledge". It also turned the Cypher variablem2into the invalidbazel-migrationincypher-script-loading.md, restored tom1/m2.test-ci-storage-policy.py,test-classify-changes.sh, andtest-binding-release-candidate.pyare removed. Their positive Cargo/maturin/napi assertions remain.Remaining
git grep -il bazelmatchesAll five are ADRs or ADR indexes that name Bazel as the replaced system:
docs/adr/0048-cargo-is-the-ci-build-authority.md: the ADR that removes Bazel.docs/adr/0030-portable-oci-boundary.md: an ADR body and historical record. Per instructions, it is not edited.docs/adr/README.md,docs/engineering/adrs/README.md,docs-site/astro.config.mjs: ADR 0048's title in the ADR indexes and sidebar.Evidence
make pre-push-fastwithout bazelisk on PATH./usr/local/binwas replaced by a shim directory withoutbazel/bazelisk:Other gates, all exit 0:
A new Rust test file needs only Cargo. In a scratch commit (
6602f6016, dropped and never pushed), I addedcrates/graphforge-core/tests/scratch_1646.rswith one#[test]. It is also the crate's firsttests/directory, and no other file changed:Before this change, the same file would also have needed a
BUILD.bazelrule and amigration_target_map.jsonentry (bazel-migration-ledger-check.py).Found while doing this (not changed here)
crates/graphforge-exec'sdifferential_traversaltest hasrequired-features = ["differential-testing"], and no workspace member enables that feature. Bazel ran it inside//:ci_rust_tests. Since #1649, the CI Gate does not run it; no workflow passes--features differential-testing.testing.mdnow documents the explicit command. Whether the CI Gate should run it is a separate decision.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.