Skip to content

DELIVERY: two gates from Carom 2.0, both silent passes - #16

Merged
arnelirobles merged 1 commit into
mainfrom
gate/config-passthrough-and-real-pressure
Sep 2, 2026
Merged

DELIVERY: two gates from Carom 2.0, both silent passes#16
arnelirobles merged 1 commit into
mainfrom
gate/config-passthrough-and-real-pressure

Conversation

@arnelirobles

@arnelirobles arnelirobles commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Two gates from the Carom 2.0 release. Both are silent passes, which the document says deserve more attention than failures.

A field added to a config is not a field that arrives. Three extension packages accepted a config struct and unpacked selected fields by hand, so two fields added in that same release never reached them: a 50 ms retry-delay cap took 5,615 ms through an extension against 170 ms through the core, and a timeout that threw on the core path was accepted in silence on all three extension paths. 948 tests were green; the review bot caught it.

The uncomfortable part is that the release existed to fix this exact shape, a rule living in three copies and enforced in one, and reproduced it within itself. The fix was to pass the whole object rather than add the two missing fields, so the next field cannot drift.

Queueing work is not running it. A timeout test queued ProcessorCount * 4 blocking work items to saturate the thread pool, then asserted immediately without waiting for any worker to start. It passed on every run without ever creating the condition it was written to create. Making the workers signal a countdown turned it red at once, and what it exposed was not the intermittent failure it was written for but a wrong exception type: under real saturation the pool cancels the queued task before the action starts, and the strategy surfaced a cancellation exception where its contract promised a timeout.

Both cite specific incidents, per the bar in "Keeping this document honest".

Note there are now six open PRs against this file, all adding gates and none merged. Worth a batch merge rather than six reviews.

Summary by CodeRabbit

  • Documentation
    • Added guidance on ensuring newly added configuration fields reach all call sites.
    • Documented the importance of waiting for queued background work before asserting timeout behavior.
    • Included examples of issues these testing and configuration pitfalls can cause.

Both are silent passes rather than failures: a config field that never
reached three call sites because they unpack by hand, and a pressure
test that asserted before any pressure existed and hid a wrong exception
type behind a green run.
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: bd4b91b3-38c5-4772-9fdb-12abecd89afe

📥 Commits

Reviewing files that changed from the base of the PR and between 9a6cdb0 and 429ca88.

📒 Files selected for processing (1)
  • DELIVERY.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The documentation adds two delivery lessons. One covers configuration fields lost during manual unpacking. The other covers timeout tests that assert before queued background work starts.

Changes

Delivery lessons

Layer / File(s) Summary
Configuration and asynchronous test lessons
DELIVERY.md
Adds guidance on preserving configuration fields and waiting for queued work before making timeout assertions.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 429ca

This change documents two delivery gates without changing product or runtime behavior, so no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the two Carom 2.0 gates and states that both issues were silent passes. It matches the main purpose of the documentation changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch gate/config-passthrough-and-real-pressure

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.

@arnelirobles
arnelirobles merged commit 60e4730 into main Sep 2, 2026
1 check passed
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