Skip to content

Conversation

@santigimeno
Copy link
Member

@santigimeno santigimeno commented Nov 11, 2025

Summary by CodeRabbit

  • Chores

    • Bumped generated Protobuf/GRPC code from 6.32.0 to 6.33.0.
    • Replaced raw bitwise presence handling with stable has-bit helper APIs across generated messages.
    • Promoted many message constructors/accessors from protected to public (wider visibility).
  • New Features

    • Added a new versions map to InfoBody messages.
    • Reintroduced a body map to StartupTimesEvent messages.

✏️ Tip: You can customize this high-level summary in your review settings.

@santigimeno santigimeno self-assigned this Nov 11, 2025
@coderabbitai
Copy link

coderabbitai bot commented Nov 11, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Protobuf C++ generated code bumped from 6.32.0 → 6.33.0 across many generated files. Primary work: replace direct has-bits bitwise operations with helper APIs, adjust descriptor pointer formatting, promote many constructors from protected → public, and add a few map/repeated fields.

Changes

Cohort / File(s) Summary
Version & descriptor pointer updates
agents/grpc/src/proto/*.pb.cc (e.g., asset.pb.cc, blocked_loop.pb.cc, command.pb.cc, common.pb.cc, exit.pb.cc, info.pb.cc, metrics.pb.cc, nsolid_service.pb.cc, packages.pb.cc, profile.pb.cc, reconfigure.pb.cc, source_code.pb.cc, startup_times.pb.cc)
Bumped generated Protobuf runtime to 6.33.0 and normalized spacing/placement of file-level descriptor pointer declarations (e.g., :: _pb::EnumDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE).
Has-bit helper refactor (serialization/merge/clear/size)
agents/grpc/src/proto/*.pb.cc (same set as above)
Replaced direct bitwise has-bit tests and VerifyHasBitConsistency calls with helper APIs: CheckHasBit, BatchCheckHasBit, CheckHasBitForRepeated, CheckHasBitConsistency (and debug variants) across _InternalSerialize, ByteSizeLong, MergeImpl, Clear, SharedDtor, etc.
Constructor visibility promotion
agents/grpc/src/proto/*.pb.h (e.g., asset.pb.h, blocked_loop.pb.h, command.pb.h, common.pb.h, exit.pb.h, metrics.pb.h, nsolid_service.pb.h, packages.pb.h, profile.pb.h, reconfigure.pb.h, source_code.pb.h, startup_times.pb.h, …)
Removed protected sections around arena/default constructors for many generated message types, effectively making those constructors public.
Has-bit helpers in accessors/mutators
agents/grpc/src/proto/*.pb.h (same set as above)
Replaced direct _impl_._has_bits_[..] bit reads/writes in inline accessors/mutators with CheckHasBit, SetHasBit, ClearHasBit, and repeated/map variants in has_/set_/clear_/release_/mutable_ methods.
Internal layout / HasBits additions
agents/grpc/src/proto/metrics.pb.{h,cc}, packages.pb.{h,cc}, ...
Introduced HasBits typedefs, kHasBitsOffset constants and explicit _has_bits_ members in some Impl_ structs; updated descriptor/table entries to reference these has-bits offsets and adjusted field offsets.
New map/repeated public fields
agents/grpc/src/proto/info.pb.h, agents/grpc/src/proto/startup_times.pb.h
InfoBody: added versions map accessors and kVersionsFieldNumber = 15. StartupTimesEvent: added public body map accessors and kBodyFieldNumber = 2.
Header version guard updates
agents/grpc/src/proto/*.pb.h
Updated compile-time runtime guard checks from PROTOBUF_VERSION == 6032000PROTOBUF_VERSION == 6033000 and bumped header comment versions.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Areas to inspect closely:

  • Constructor visibility promotions — confirm no unintended public ABI/API exposure.
  • New map fields (InfoBody::versions, StartupTimesEvent::body) — serialization, default-instance and map aux setup.
  • Has-bits helper conversions — verify Serialize/Merge/Clear/SharedDtor parity with previous bitmask semantics, especially for repeated/map presence semantics.
  • Files introducing HasBits/kHasBitsOffset and table changes (metrics, packages, etc.) — check offsets and field ordering.

Suggested reviewers

  • juanarbol
  • RafaelGSS

Poem

🐰
Bits once masked, now checked with care,
Helpers hop in, tidying bitware,
Constructors opened, maps unfurled,
Generated hops brighter in the world,
A rabbit cheers — proto bliss declared! 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 9.59% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'deps: update to protobuf v33.0' directly and clearly describes the primary change: upgrading the protobuf dependency from version 6.32.0 to 6.33.0 across multiple generated proto files.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a9191b7 and 004b4f1.

📒 Files selected for processing (26)
  • agents/grpc/src/proto/asset.pb.cc (17 hunks)
  • agents/grpc/src/proto/asset.pb.h (21 hunks)
  • agents/grpc/src/proto/blocked_loop.pb.cc (60 hunks)
  • agents/grpc/src/proto/blocked_loop.pb.h (45 hunks)
  • agents/grpc/src/proto/command.pb.cc (28 hunks)
  • agents/grpc/src/proto/command.pb.h (27 hunks)
  • agents/grpc/src/proto/common.pb.cc (31 hunks)
  • agents/grpc/src/proto/common.pb.h (27 hunks)
  • agents/grpc/src/proto/exit.pb.cc (30 hunks)
  • agents/grpc/src/proto/exit.pb.h (30 hunks)
  • agents/grpc/src/proto/info.pb.cc (46 hunks)
  • agents/grpc/src/proto/info.pb.h (61 hunks)
  • agents/grpc/src/proto/metrics.pb.cc (25 hunks)
  • agents/grpc/src/proto/metrics.pb.h (15 hunks)
  • agents/grpc/src/proto/nsolid_service.pb.cc (9 hunks)
  • agents/grpc/src/proto/nsolid_service.pb.h (6 hunks)
  • agents/grpc/src/proto/packages.pb.cc (40 hunks)
  • agents/grpc/src/proto/packages.pb.h (36 hunks)
  • agents/grpc/src/proto/profile.pb.cc (34 hunks)
  • agents/grpc/src/proto/profile.pb.h (19 hunks)
  • agents/grpc/src/proto/reconfigure.pb.cc (21 hunks)
  • agents/grpc/src/proto/reconfigure.pb.h (36 hunks)
  • agents/grpc/src/proto/source_code.pb.cc (27 hunks)
  • agents/grpc/src/proto/source_code.pb.h (23 hunks)
  • agents/grpc/src/proto/startup_times.pb.cc (14 hunks)
  • agents/grpc/src/proto/startup_times.pb.h (12 hunks)

Comment @coderabbitai help to get the list of available commands and usage tips.

@santigimeno santigimeno force-pushed the santi/upgrade_protobuf branch from bc59ecc to a9191b7 Compare November 12, 2025 10:21
@santigimeno santigimeno force-pushed the santi/upgrade_protobuf branch from a9191b7 to 004b4f1 Compare December 9, 2025 10:47
santigimeno added a commit that referenced this pull request Dec 9, 2025
PR-URL: #389
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
@santigimeno
Copy link
Member Author

Landed in e6ed2d1

@santigimeno santigimeno closed this Dec 9, 2025
santigimeno added a commit that referenced this pull request Jan 14, 2026
PR-URL: #389
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
santigimeno added a commit that referenced this pull request Jan 14, 2026
PR-URL: #389
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.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.

3 participants