Skip to content

feat(bps): add bounded block rate tracker - #22

Draft
Hylfrd wants to merge 1 commit into
masterfrom
codex/prep/prep-bps-tracker
Draft

Hylfrd wants to merge 1 commit into
masterfrom
codex/prep/prep-bps-tracker

Conversation

@Hylfrd

@Hylfrd Hylfrd commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a Minecraft-free lifecycle participant for bounded rolling blocks-per-second accounting.
  • Uses a 10-second active-time window, inclusive expiry boundary, bounded retention, generation/world-epoch fencing, and immutable snapshots.
  • Preserves fixed-upstream crop identity behavior, including combined red/brown mushroom counting and repeated successful destroy calls.

Verification

  • Focused: BpsTrackerTest, 8 tests passed with --rerun-tasks --no-daemon --console=plain.
  • Full: 694 tests across 77 suites passed with zero failures, errors, or skips using worktree-local GRADLE_USER_HOME.

Fixed upstream anchors

  • Commit: eacb323fbde3eff94d4f2ee7baacb059d84b8e3a
  • Tree: dfbaaf9ce75f9adc625352396acaa9138a8b97f8
  • BPSTracker.java blob 76e43e4337a3494ff86ad6662d20d74633ba1f1c, 8931 bytes.
  • Timer.java blob 7702c4a92101aee7856940c71f5afd4d650b6987, 1191 bytes.
  • LowerAvgBpsFailsafe.java blob c928d22742da9df343770b49c19041c41cbd1ecb, 6226 bytes.

Composition

The tracker is intentionally uninstalled. Later composition must attach it to MacroManager lifecycle callbacks and route current-generation break-success signals from BlockInteractionSignalBridge; HUD and LowerAvgBpsFailsafe wiring remain outside this prepared surface.

Blocker

Product-prep blocker D003_MERGE_HOLD remains active. No merge or master push was performed.

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