Skip to content

test(drive-abci): improve platform_events test coverage#3270

Merged
QuantumExplorer merged 2 commits into
v3.1-devfrom
test/drive-abci-platform-events-coverage
Mar 15, 2026
Merged

test(drive-abci): improve platform_events test coverage#3270
QuantumExplorer merged 2 commits into
v3.1-devfrom
test/drive-abci-platform-events-coverage

Conversation

@QuantumExplorer
Copy link
Copy Markdown
Member

@QuantumExplorer QuantumExplorer commented Mar 15, 2026

Issue being fixed or feature implemented

Improve test coverage for packages/rs-drive-abci/src/execution/platform_events/ modules, focusing on the lowest-coverage modules first (protocol_upgrade at 43%, block_end at 49%, tokens at 63%).

What was done?

Added 38 new unit tests across 11 files covering:

protocol_upgrade (43% -> improved):

  • check_for_desired_protocol_upgrade v0 and v1: threshold boundary tests (exact threshold, one below), no-vote/sufficient-vote/insufficient-vote cases, multiple-versions-passing incoherence error, block cache vote contribution, edge cases (zero hpmns, single hpmn, large hpmn count)
  • upgrade_protocol_version_on_epoch_change v0: epoch change cache blocking behavior, fee version insertion on empty map, non-epoch-change same-version pass-through, protocol version mismatch error on non-epoch-change, genesis epoch bypass (no cache blocking), upgrade vote integration
  • perform_events_on_first_block_of_protocol_change: same-version no-op, unknown version dispatch error
  • Version dispatchers: unknown version error handling, correct routing to v0/v1

block_end (49% -> improved):

  • update_drive_cache v0: block cache merge without epoch change, global cache clear+unblock on epoch change, non-clearing behavior without epoch change, contracts cache merge
  • validator_set_update dispatcher: unknown version error handling
  • should_checkpoint dispatcher: None version returns None, unknown version error

tokens (63% -> improved):

  • validate_token_aggregated_balance v0: verification enabled path on fresh genesis state, verification disabled path always succeeds
  • Dispatcher: unknown version error handling

How Has This Been Tested?

All 38 new tests pass:

cargo test -p drive-abci --lib -- "execution::platform_events::protocol_upgrade" \
  "execution::platform_events::block_end" \
  "execution::platform_events::tokens::validate_token_aggregated_balance"

test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 1477 filtered out

Code formatted with cargo fmt --package drive-abci.

Breaking Changes

None. This PR only adds tests.

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
  • I have made corresponding changes to the documentation if needed

Summary by CodeRabbit

  • Tests
    • Added comprehensive unit test coverage for platform event execution paths, including protocol upgrade decision logic, block-end events, cache updates, and token validation scenarios. Tests validate dispatcher routing, error handling for unsupported versions, and various operational conditions without altering production code.

Add 38 new unit tests covering protocol_upgrade, block_end, and tokens
modules to improve test coverage in the platform_events directory:

- protocol_upgrade/check_for_desired_protocol_upgrade (v0 + v1):
  threshold boundary tests, no-vote/sufficient-vote/insufficient-vote
  cases, multiple-versions-passing error, block cache contribution,
  edge cases (zero hpmns, single hpmn, large hpmn count)

- protocol_upgrade/upgrade_protocol_version (v0 + dispatcher):
  epoch change cache blocking, fee version insertion on empty map,
  non-epoch-change same version success, protocol version mismatch
  error, genesis epoch bypass, upgrade vote integration

- protocol_upgrade/perform_events_on_first_block_of_protocol_change:
  same-version no-op, unknown version error dispatch

- block_end/update_drive_cache (v0): block cache merge without epoch
  change, global cache clear+unblock on epoch change, non-clearing
  behavior without epoch change, contracts cache merge

- block_end/validator_set_update + should_checkpoint: version dispatch
  error handling

- tokens/validate_token_aggregated_balance (v0 + dispatcher):
  verification enabled/disabled paths, version dispatch error

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added this to the v3.1.0 milestone Mar 15, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 15, 2026

Warning

Rate limit exceeded

@QuantumExplorer has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 0 minutes and 36 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 838ca65c-372c-4b41-ae55-e74526b973a8

📥 Commits

Reviewing files that changed from the base of the PR and between 57eb595 and 643fb13.

📒 Files selected for processing (2)
  • packages/rs-drive-abci/src/execution/platform_events/block_end/should_checkpoint/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs
📝 Walkthrough

Walkthrough

This PR adds comprehensive unit test coverage for multiple platform event handlers across block-end and protocol-upgrade modules, along with token validation. No production code or public API signatures are modified.

Changes

Cohort / File(s) Summary
Block End Event Tests
packages/rs-drive-abci/src/execution/platform_events/block_end/should_checkpoint/mod.rs, update_drive_cache/v0/mod.rs, validator_set_update/mod.rs
Added unit tests validating error handling for unknown versions, cache merging behavior, epoch-change scenarios, and blockchain protocol version transitions. Tests introduce mock contexts and assert expected error states.
Protocol Upgrade Dispatcher Tests
packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/mod.rs, perform_events_on_first_block_of_protocol_change/mod.rs, upgrade_protocol_version/mod.rs
Added unit tests verifying dispatcher routing to version-specific implementations and error handling for unknown versions. Tests confirm correct dispatch paths and UnknownVersionMismatch error states.
Protocol Upgrade v0/v1 Implementation Tests
packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v0/mod.rs, v1/mod.rs, upgrade_protocol_version/v0/mod.rs
Added comprehensive test suites covering voting scenarios, vote-threshold calculations, epoch-change handling, fee version insertion, and protocol version transitions. Tests manipulate cache state and validate control flow across multiple edge cases.
Token Validation Tests
packages/rs-drive-abci/src/execution/platform_events/tokens/validate_token_aggregated_balance/mod.rs, v0/mod.rs
Added unit tests for dispatcher error handling and token validation logic under verification-enabled and verification-disabled configurations. Tests verify UnknownVersionMismatch error states and validation flow paths.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 A fluffy tail of tests so bright,
Covering errors left and right,
No production code was changed this day,
Just safety nets in every way!
Hop hop hooray for coverage grand! 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and clearly summarizes the primary change: adding comprehensive test coverage for platform_events modules in drive-abci.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch test/drive-abci-platform-events-coverage
📝 Coding Plan
  • Generate coding plan for human review comments

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.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (4)
packages/rs-drive-abci/src/execution/platform_events/tokens/validate_token_aggregated_balance/v0/mod.rs (1)

45-82: Add one imbalance case to exercise the actual error path.

Both tests currently validate is_ok() on a fresh genesis state. Consider adding a targeted imbalance fixture (or mocked calculate_total_tokens_balance) to assert ExecutionError::CorruptedTokensNotBalanced when verification is enabled, and success when disabled. This would harden branch confidence beyond “happy-path only” assertions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@packages/rs-drive-abci/src/execution/platform_events/tokens/validate_token_aggregated_balance/v0/mod.rs`
around lines 45 - 82, Add a new test that injects a deliberate token-balance
mismatch and asserts the error path: create a platform (use
TestPlatformBuilder), start a transaction, then either mutate the genesis state
to create an aggregated balance imbalance or mock calculate_total_tokens_balance
to return an inconsistent sum; call
validate_token_aggregated_balance_v0(&transaction, platform_version) and assert
it returns Err matching ExecutionError::CorruptedTokensNotBalanced when
execution.verify_token_sum_trees is true, then repeat with a config where
execution.verify_token_sum_trees = false and assert Ok(); reference the existing
test names
(test_validate_token_aggregated_balance_with_verification_enabled/disabled), the
function validate_token_aggregated_balance_v0, and the error type
ExecutionError::CorruptedTokensNotBalanced when implementing the assertions and
setup.
packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/perform_events_on_first_block_of_protocol_change/mod.rs (1)

82-115: Minor: Test name and comment don't match actual behavior.

The test is named test_perform_events_when_version_method_is_none and comments mention "When the perform_events_on_first_block_of_protocol_change method is None", but it actually uses PlatformVersion::latest() which has Some(0). The test validates the no-op case where previous_protocol_version == current, which is valid, but the naming is misleading.

Consider renaming to better reflect what's being tested:

✏️ Suggested rename
     #[test]
-    fn test_perform_events_when_version_method_is_none() {
-        // When the perform_events_on_first_block_of_protocol_change method is None,
-        // the dispatcher should return Ok(()) without doing anything.
-        // We can test this indirectly: the latest platform version has Some(0),
-        // but we can verify the dispatch for a same-version transition (no-op case).
+    fn test_perform_events_same_version_transition_is_noop() {
+        // When previous_protocol_version equals current version, no transition
+        // events should fire, and the function should return Ok(()).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/perform_events_on_first_block_of_protocol_change/mod.rs`
around lines 82 - 115, Rename the test function
test_perform_events_when_version_method_is_none to reflect that it validates the
no-op transition when previous_protocol_version == current (e.g.,
test_perform_events_noop_same_version) and update the inline comments to state
that PlatformVersion::latest() has Some(0) and that the test exercises the
same-version no-op path; ensure you keep the call to
platform.perform_events_on_first_block_of_protocol_change and its assertions
unchanged.
packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs (1)

383-386: Make vote-threshold setup data-driven instead of using a magic number.

Using 100 as a fixed vote count can become brittle if validator-list size or threshold logic changes. Derive votes from the same state inputs used by the function under test.

Proposed refactor
-        // Insert enough votes for the current version
-        {
-            let mut counter = platform.drive.cache.protocol_versions_counter.write();
-            counter.global_cache.insert(voted_version, 100);
-        }
+        let last_committed_state = platform.state.load();
+        let votes = last_committed_state.hpmn_active_list_len() as u32;
+        {
+            let mut counter = platform.drive.cache.protocol_versions_counter.write();
+            counter.global_cache.insert(voted_version, votes.max(1));
+        }
@@
-        let last_committed_state = platform.state.load();
         let mut block_platform_state = last_committed_state.as_ref().clone();

Also applies to: 388-399

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs`
around lines 383 - 386, The test setup currently inserts a magic vote count of
100 into platform.drive.cache.protocol_versions_counter for voted_version;
change this to compute the required vote count dynamically from the same state
used by the code under test (e.g., derive from the validator set size or
threshold function) and insert that computed value instead; update the setup
where protocol_versions_counter.global_cache is populated (referencing
voted_version and platform.drive.cache.protocol_versions_counter) so it uses the
computed threshold (e.g., ceil(validator_count * required_fraction) or by
calling the same threshold helper used in the implementation) rather than the
hardcoded 100; apply the same change for the other occurrences in the block
covering lines ~388-399.
packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v1/mod.rs (1)

232-253: Consider dynamically calculating the threshold like the other tests.

This test hardcodes the assumption of a 75% threshold (comment on line 241-242 and the magic number 7501). Unlike test_v1_upgrade_with_votes_exactly_at_threshold and test_v1_no_upgrade_with_one_below_threshold, which dynamically retrieve protocol_version_upgrade_percentage_needed, this test would silently become incorrect if the percentage configuration changes.

♻️ Suggested refactor to use dynamic threshold calculation
     #[test]
     fn test_v1_upgrade_with_large_number_of_hpmns() {
         let platform_version = PlatformVersion::latest();
         let platform = TestPlatformBuilder::new()
             .build_with_mock_rpc()
             .set_initial_state_structure();

         let next_version = platform_version.protocol_version + 1;

-        // With 10000 active hpmns and 75% threshold:
-        // required = 1 + (10000 * 75 / 100) = 7501
+        let pct = platform_version
+            .drive_abci
+            .methods
+            .protocol_upgrade
+            .protocol_version_upgrade_percentage_needed;
+        let required = 1 + (10000u64 * pct / 100);
+
         {
             let mut counter = platform.drive.cache.protocol_versions_counter.write();
-            counter.global_cache.insert(next_version, 7501);
+            counter.global_cache.insert(next_version, required);
         }

         let result = platform
             .check_for_desired_protocol_upgrade_v1(10000, platform_version)
             .expect("expected no error");

         assert_eq!(result, Some(next_version));
     }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v1/mod.rs`
around lines 232 - 253, In test_v1_upgrade_with_large_number_of_hpmns replace
the hardcoded 7501 with a dynamic calculation: read the upgrade percentage via
platform_version.protocol_version_upgrade_percentage_needed (or the equivalent
accessor used by the other tests), compute required = 1 + (active_hpmns *
percent / 100) (using the same integer rounding semantics as the other tests),
and insert that computed value into counter.global_cache.insert(next_version,
required) so the test adapts if the percentage config changes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@packages/rs-drive-abci/src/execution/platform_events/block_end/should_checkpoint/mod.rs`:
- Around line 47-68: The test `test_dispatcher_none_version_returns_none` is
incomplete—after setting
`platform_version.drive_abci.methods.block_end.should_checkpoint = None` it
never calls the dispatcher or asserts behavior; either remove the test or
complete it by constructing a `BlockExecutionContext` (reuse the setup from the
neighboring test), call the dispatcher entrypoint `should_checkpoint` (the
function under test) with the `platform`, `platform_version`, and the
`BlockExecutionContext`, and assert that the result is Ok(None); ensure you
reference the same `TestPlatformBuilder` setup and `PlatformVersion::latest()`
used above so the dispatcher short-circuits on the None v0 method and returns
Ok(None).

In
`@packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs`:
- Around line 247-251: The current early return when PlatformVersion::first()
matches platform_version.protocol_version silently skips the test; replace the
implicit pass with a hard precondition check: instead of returning, assert or
panic with a clear message so the test fails loudly when the precondition isn't
met (e.g., use an assert! or panic! referencing older_version and
platform_version.protocol_version). Locate the block using
PlatformVersion::first(), older_version, and platform_version.protocol_version
in the test and change the early return to an assertion that the versions
differ, providing a descriptive message.

---

Nitpick comments:
In
`@packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v1/mod.rs`:
- Around line 232-253: In test_v1_upgrade_with_large_number_of_hpmns replace the
hardcoded 7501 with a dynamic calculation: read the upgrade percentage via
platform_version.protocol_version_upgrade_percentage_needed (or the equivalent
accessor used by the other tests), compute required = 1 + (active_hpmns *
percent / 100) (using the same integer rounding semantics as the other tests),
and insert that computed value into counter.global_cache.insert(next_version,
required) so the test adapts if the percentage config changes.

In
`@packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/perform_events_on_first_block_of_protocol_change/mod.rs`:
- Around line 82-115: Rename the test function
test_perform_events_when_version_method_is_none to reflect that it validates the
no-op transition when previous_protocol_version == current (e.g.,
test_perform_events_noop_same_version) and update the inline comments to state
that PlatformVersion::latest() has Some(0) and that the test exercises the
same-version no-op path; ensure you keep the call to
platform.perform_events_on_first_block_of_protocol_change and its assertions
unchanged.

In
`@packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs`:
- Around line 383-386: The test setup currently inserts a magic vote count of
100 into platform.drive.cache.protocol_versions_counter for voted_version;
change this to compute the required vote count dynamically from the same state
used by the code under test (e.g., derive from the validator set size or
threshold function) and insert that computed value instead; update the setup
where protocol_versions_counter.global_cache is populated (referencing
voted_version and platform.drive.cache.protocol_versions_counter) so it uses the
computed threshold (e.g., ceil(validator_count * required_fraction) or by
calling the same threshold helper used in the implementation) rather than the
hardcoded 100; apply the same change for the other occurrences in the block
covering lines ~388-399.

In
`@packages/rs-drive-abci/src/execution/platform_events/tokens/validate_token_aggregated_balance/v0/mod.rs`:
- Around line 45-82: Add a new test that injects a deliberate token-balance
mismatch and asserts the error path: create a platform (use
TestPlatformBuilder), start a transaction, then either mutate the genesis state
to create an aggregated balance imbalance or mock calculate_total_tokens_balance
to return an inconsistent sum; call
validate_token_aggregated_balance_v0(&transaction, platform_version) and assert
it returns Err matching ExecutionError::CorruptedTokensNotBalanced when
execution.verify_token_sum_trees is true, then repeat with a config where
execution.verify_token_sum_trees = false and assert Ok(); reference the existing
test names
(test_validate_token_aggregated_balance_with_verification_enabled/disabled), the
function validate_token_aggregated_balance_v0, and the error type
ExecutionError::CorruptedTokensNotBalanced when implementing the assertions and
setup.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: faacd33c-976b-4a20-a9af-bfaed1c4e457

📥 Commits

Reviewing files that changed from the base of the PR and between 7465468 and 57eb595.

📒 Files selected for processing (11)
  • packages/rs-drive-abci/src/execution/platform_events/block_end/should_checkpoint/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/block_end/update_drive_cache/v0/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/block_end/validator_set_update/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v0/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/check_for_desired_protocol_upgrade/v1/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/perform_events_on_first_block_of_protocol_change/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/protocol_upgrade/upgrade_protocol_version/v0/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/tokens/validate_token_aggregated_balance/mod.rs
  • packages/rs-drive-abci/src/execution/platform_events/tokens/validate_token_aggregated_balance/v0/mod.rs

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 15, 2026

Codecov Report

❌ Patch coverage is 98.58079% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.60%. Comparing base (7465468) to head (643fb13).
⚠️ Report is 1 commits behind head on v3.1-dev.

Files with missing lines Patch % Lines
...rotocol_upgrade/upgrade_protocol_version/v0/mod.rs 98.49% 3 Missing ⚠️
...tokens/validate_token_aggregated_balance/v0/mod.rs 92.00% 2 Missing ⚠️
...platform_events/block_end/should_checkpoint/mod.rs 98.80% 1 Missing ⚠️
...tform_events/block_end/validator_set_update/mod.rs 98.11% 1 Missing ⚠️
..._upgrade/check_for_desired_protocol_upgrade/mod.rs 98.14% 1 Missing ⚠️
...grade/check_for_desired_protocol_upgrade/v0/mod.rs 99.24% 1 Missing ⚠️
...grade/check_for_desired_protocol_upgrade/v1/mod.rs 99.23% 1 Missing ⚠️
...rm_events_on_first_block_of_protocol_change/mod.rs 98.27% 1 Missing ⚠️
...s/protocol_upgrade/upgrade_protocol_version/mod.rs 97.67% 1 Missing ⚠️
...ts/tokens/validate_token_aggregated_balance/mod.rs 95.65% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           v3.1-dev    #3270      +/-   ##
============================================
- Coverage     69.64%   67.60%   -2.05%     
============================================
  Files          3292     3292              
  Lines        258981   259897     +916     
============================================
- Hits         180372   175699    -4673     
- Misses        78609    84198    +5589     
Components Coverage Δ
dpp 56.58% <ø> (-1.82%) ⬇️
drive 74.67% <ø> (-3.44%) ⬇️
drive-abci 79.58% <98.58%> (-1.25%) ⬇️
sdk 30.34% <ø> (-0.91%) ⬇️
dapi-client 39.08% <ø> (ø)
platform-version ∅ <ø> (∅)
platform-value 39.35% <ø> (ø)
platform-wallet 60.40% <ø> (ø)
drive-proof-verifier ∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- Complete the should_checkpoint None-version test by actually calling
  should_checkpoint and asserting the result is None
- Replace early return with assert_ne! in the protocol version mismatch
  test to avoid silently passing when preconditions are not met

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@QuantumExplorer QuantumExplorer merged commit 617e7b2 into v3.1-dev Mar 15, 2026
22 of 23 checks passed
@QuantumExplorer QuantumExplorer deleted the test/drive-abci-platform-events-coverage branch March 15, 2026 05:17
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