Skip to content

build: remove Bazel build descriptions, tooling, and docs (#1618) #1646

Description

@DecisionNerd

Sub-issue of #1618 (ADR 0048). It implements decision item 4: Bazel is removed.

Blocked by the CI-lane and Binding RC sub-issues. Nothing may still depend on Bazel when this lands.

Scope

  1. Delete:
    • all BUILD.bazel files, MODULE.bazel, MODULE.bazel.lock, cargo-bazel-lock.json, .bazelrc, .bazelversion, and tools/bazel/;
    • the Bazel scripts under scripts/ci/ (drift, parity, migration ledger, cache perf) and their tests.
  2. Remove the Bazel version from scripts/set_release_version.py (tools/bazel/gf_version.bzl, chore(bazel): MODULE.bazel declares a fourth hand-maintained release version #1398) and from the release-version checks.
  3. Update:
    • Makefile (bazel-test, and the pre-push-fast bazelisk preflight and drift check) and scripts/pre_push_validation.py;
    • AGENTS.md, CONTRIBUTING.md, .gitignore, .dockerignore, .github/dependabot.yml, and the PR template;
    • docs/development/bazel*.md: fold what is still true into the testing docs and delete the rest;
    • every other doc and code reference found by git grep -i bazel.
  4. Document the local gate command (cargo nextest run --workspace plus the custom-harness targets and doctests) in docs/development/agent-environment.md.

Acceptance criteria

  • git grep -il bazel matches only ADRs and historical records that name Bazel as the replaced system.
  • Adding a Rust test file needs no build-description edit beyond Cargo. Show it with a scratch test in the PR description.
  • make pre-push-fast runs without bazelisk on PATH.
  • CI Gate passes. make gate-registry-check passes.

Activity

  1. added
    ci-cdCI/CD configuration changes
    toolingDeveloper tooling and automation
    on Sep 30, 2026
  2. DecisionNerd commented on Sep 30, 2026

    @DecisionNerd
    ContributorAuthor

    The prerequisite Binding RC #1651 merged at dc9c27eab14675d217d3a01d5fac6d94e7a663e4; qualification dispatch36655614470 passed all8targets/aggregate/releaseassembly/offline rehearsal. The existing author worktree /home/ubuntu/gf-1646 on build/1646-remove-bazel owns implementation; this Codex session will preserve it and provide independent review.

    Read-only exact retirement plan is /tmp/graphforge-1646-retirement-plan.i8w37n_7/retirement-plan.md with per-file deletion/update manifests and method/input-hash drafts. Critical safeguards: move tools/bazel/migration-evidence/ci-gate-ruleset-19988544.json byte-for-byte to a surviving test fixture and update gate-enforcement consumers before deleting tools; keep PyO3 linking checks, property-overlay Cargo automatic-discovery/CI-selection assertions, Node export manifest/tests and package-license checks. Retire the now-completed measurement workflow/registry entries and fold only method/input digests into linked testing/agent-environment topic pages; all raw results remain #1618comment5902091518. Positive builder/discovery assertions must replace obsolete negative backend text so the strict residual grep has no live tooling matches. Generated ADR0048 titles in docs-site/engineering indexes are historical ADR metadata, not active tooling. Rebaseline this plan at the merged source and preserve the loader/tag/artifact-policy corrections from #1651.

  3. DecisionNerd commented on Sep 30, 2026

    @DecisionNerd
    ContributorAuthor

    The maintainer explicitly confirmed that the existing agent keeps ownership of its #1617/#1618 branches. This session coordinates review, evidence, CI and integration only; it will not start competing implementation branches or modify this worktree.

    Final review correction: the earlier request to retain the fixed nineteen-entry Node map was overbroad and is withdrawn. It was the retired assembler mirror/parity input, not a fixed public export-count obligation. Surviving product import, selected declaration and native functional tests remain; no runtime/type regression was established by the retirement. The native review thread is resolved as a withdrawn finding, not as a source correction.

    The ruleset fixture move to config is byte-identical and its updated fixture tests pass. Property-selection and retained PyO3 regression checks pass in an isolated review snapshot. Historical measurement workflow, registry records, storage-policy counters, and linked method/input-hash notes still need to retire together in the final change. The read-only plan remains at /tmp/graphforge-1646-retirement-plan.i8w37n_7/retirement-plan.md; final review will use the completed PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ci-cdCI/CD configuration changestoolingDeveloper tooling and automation

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions