Repository navigation
fix(control): bound publication before committing state growth - #221
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Apply the shared 1 MiB serialized UTF-8 public-state budget before publication/commit. Reserve future numeric growth, roll back oversized mutations, preserve tombstones and keep the previous readable state healthy.
Closes #208
Type
Checklist
python3 cc_peer.py listworks locally (live-session inspection not performed)python3 cc_peer.py list --host <a real host>works over SSH (out of scope)--dry-runresolves a target without posting anything (covered by existing mocked contracts; no live target)Verified against
macOS arm64; Python 3.14.7, websockets 17.1; Node 22.14.0 for Control. Linux/Windows matrix results are left to PR CI, not claimed from this machine.
Control typecheck; 89 Node tests; 11 actual Node/Python integration tests; Python reader below/at/above 1 MiB fixture; documentation 10 tests. Writer fixture verifies refusal, rollback, tombstone preservation, monotonic republish and restart.
Notes
No fixed device-count estimate or tombstone eviction. A pre-existing oversized committed database stays unhealthy pending safe operator remediation. No production database or service was accessed.
Prepared in an isolated worktree from main 03d4bd4. No merge, release, production deployment, real send or ACK test is included. CI status is independent of the local checks above.