Skip to content

fix(ci): re-pin slack/telegram integration coverage floors to observed reality - #7655

Closed
BenKurrek wants to merge 3 commits into
mainfrom
fix/integration-coverage-floors-0814
Closed

BenKurrek wants to merge 3 commits into
mainfrom
fix/integration-coverage-floors-0814

Conversation

@BenKurrek

@BenKurrek BenKurrek commented Aug 14, 2026 •

Copy link
Copy Markdown
Collaborator

What

Re-pins the integration-tier coverage ratchet floors for the two failing crates to the observed numbers from main's own gate output (run 31796056891):

crate floor (was, 2026-08-04) observed / re-pinned (2026-08-14)
slack 93.95% · 3697 of 3935 93.57% · 3666 of 3918
telegram 90.31% · 1435 of 1589 56.63% · 2410 of 4256 (post-#7464; see below)

Tolerances, rationale, and issue links are unchanged; only the four captured numbers move per entry.

Why

Every main push since 2026-08-13 12:12 has failed Tests (Reborn) on the Reborn integration-tier coverage report job (first red: run 31698975156; last green main push: 2026-08-12 18:32). The 08-13 merges legitimately shrank both floored crates — code and tests deleted together (slack standard-ops rework era, telegram sticker/voice ingress pruning) — which is exactly the "legitimate shrinkage" case the gate's failure text says to resolve by re-pinning the [[crate]] entry to observed numbers.

Nobody noticed for ~24h because the coverage-report job is planned only on main pushes: the PR lanes and the merge queue both skip it, so the queue kept merging over a red main.

Compatibility / rollback

Data-free CI-config change; revert the commit to restore the old floors. No runtime behavior.

Follow-ups

  • The telegram entry must be re-measured when feat(telegram): pair linked devices with the bot channel #7464 lands — happened before merge; the entry is now pinned to main's own post-feat(telegram): pair linked devices with the bot channel #7464 gate output (run 31819915736): 56.63% · 2410 of 4256. The percent drop is denominator growth from the linked-device half, which is deliberately crate-tier covered (the MTProto handshake cannot run in the integration harness); a comment above the entry records the tier split.
  • Worth a separate look: whether the coverage-report job should also be planned in merge_group so floor breaches eject in the queue instead of landing on main.

Regression-test exemption: deterministic reproduction is impossible because this PR changes only the coverage gate's own data manifest (four floor numbers in tests/integration/coverage-floor.toml); the consuming gate runs solely on main pushes, so the next main push after merge is the only executable verification, and no unit of production behavior exists to reproduce or pin.

Test Strategy

  • Integration: Not applicable — no runtime code changes; the changed file is the gate's own manifest. The gate re-evaluates on the next main push, which is the production verification for this file.
  • Crate/unit: Not applicable (CI data file). TOML validated locally with tomllib; entry schema matches the file's documented [[crate]] shape (all four captured fields updated together).
  • E2E: Not applicable.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LACC5dKyNy3GNXRNbvgz57

…d reality

Every main push since 2026-08-13 12:12 has failed Tests (Reborn) on the
integration-tier coverage ratchet (first red: run 31698975156; latest:
31796056891). The 08-13 merges legitimately shrank both floored crates —
the slack standard-ops rework and the telegram sticker/voice ingress
pruning deleted code and tests together — and the coverage-report job is
planned only on main pushes, so neither the PR lanes nor the merge queue
ever saw the breach and the queue kept merging over a red main.

Per the gate's own remedy for legitimate shrinkage, re-pin both entries to
the observed numbers from run 31796056891:

  slack:    93.95% / 3697 of 3935  ->  93.57% / 3666 of 3918
  telegram: 90.31% / 1435 of 1589  ->  87.46% / 1200 of 1372

Tolerances unchanged; rationale/issue rows unchanged. Follow-up: the
telegram entry must be re-measured when #7464 lands (it grows the crate
substantially and its linked-account half is covered at crate tier, not
integration tier).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LACC5dKyNy3GNXRNbvgz57
@railway-app

railway-app Bot commented Aug 14, 2026 •

Copy link
Copy Markdown

🚅 Deployed to the ironclaw-pr-7655 environment in ironclaw-ci-preview

Service Status Web Updated (UTC)
ironclaw ✅ Success (View Logs) Web Aug 14, 2026 at 5:37 pm

@railway-app
railway-app Bot temporarily deployed to ironclaw-ci-preview / ironclaw-pr-7655 August 14, 2026 13:11 Destroyed
@github-actions github-actions Bot added size: XS < 10 changed lines (excluding docs) risk: low Changes to docs, tests, or low-risk modules labels Aug 14, 2026
@coderabbitai

coderabbitai Bot commented Aug 14, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 91378800-5888-49da-874c-227a02d75658

📥 Commits

Reviewing files that changed from the base of the PR and between 2079d3d and 170cbfd.

📒 Files selected for processing (1)
  • tests/integration/coverage-floor.toml

📝 Walkthrough

Summary by CodeRabbit

  • Tests
    • Updated Slack coverage metadata to 93.57% (3,666 of 3,918 lines).
    • Updated Telegram coverage metadata to 56.63% (2,410 of 4,256 lines).
    • Refreshed coverage capture dates and documented the impact of linked-device code on Telegram integration coverage.

Walkthrough

The integration coverage-floor metadata records updated Slack and Telegram measurements captured on 2026-08-14. The Telegram entry documents coverage dilution from linked-device functionality.

Changes

Coverage floor refresh

Layer / File(s) Summary
Coverage floor metadata
tests/integration/coverage-floor.toml
The Slack floor changed to 93.57% with 3,666 of 3,918 lines. The Telegram floor changed to 56.63% with 2,410 of 4,256 lines. The Telegram entry documents linked-device coverage dilution.

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

Merge Risk: 🔴 Critical · up to 170cb

Although this PR only changes CI coverage-floor data, the current manifest is reported to contain an extra crate header that can make the coverage gate fail; merge should be blocked until the telegram entry structure is corrected.

Suggested reviewers: serrrfirat

🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the change and validation, but it omits most required template sections, including linked issue, security, database, blast radius, and review track. Complete the repository template, or explicitly mark non-applicable sections and set the review track to C for the CI change.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title uses Conventional Commits style and accurately describes the coverage-floor metadata change.
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.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

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.

@github-actions github-actions Bot added the contributor: core 20+ merged PRs label Aug 14, 2026
@ironloopai

ironloopai Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

🧭 IronLoop Run · Review

This comment updates in place as the Run moves through its stages.

🟩 Final result · Completed

🟨 Queued → 🟦 Working → 🟦 Posting results → 🟩 Completed

Automatic trigger · attempt 1 of 3 · completed in 1m

IronLoop completed the review and posted it to GitHub.

🔗 Result

Open submitted review →

Run details

Run: 6c30a1c9-bc18-45bd-9a7a-b595255b3d7f
Base: main at 7b96a76
Head: fix/integration-coverage-floors-0814 at 2079d3d
Created: 2026-08-14 13:15 UTC
Updated: 2026-08-14 13:16 UTC

@ironloopai ironloopai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔍 IronLoop review

🟢 No actionable findings

No actionable issues found in the coverage-floor re-pin.

Validation

  • ✅ Coverage floor manifest — The updated Slack and Telegram line counts parse successfully, and each percentage matches its captured covered/total-line values when rounded to two decimals.
  • ✅ Pull request coverage gate — The captured integration-tier coverage report completed successfully with the updated manifest.
Review details
  • Run: 6c30a1c9-bc18-45bd-9a7a-b595255b3d7f
  • Workflow: Review
  • Attempts: 1

@BenKurrek BenKurrek added the skip-regression-check Bypass regression test CI gate (tests exist but not in tests/ dir) label Aug 14, 2026
@railway-app
railway-app Bot temporarily deployed to ironclaw-ci-preview / ironclaw-pr-7655 August 14, 2026 17:12 Destroyed
The follow-up this PR predicted arrived before it merged: #7464 grew the
telegram crate by ~2.7k linked-device lines that are covered at the crate
tier (the MTProto handshake cannot run in the integration harness), so the
integration-tier percent moved from the pre-merge 87.46% (1200/1372) to
56.63% (2410/4256) — measured by main's own gate on the #7658 merge push
(run 31819915736). Slack's entry already matches the current observed
values. A comment above the entry records the tier split so the number
reads as deliberate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LACC5dKyNy3GNXRNbvgz57

This branch was successfully deployed

No deployments
ironclaw-ci-preview / ironclaw-pr-7655 — 170cbfd0 Deployed Aug 14, 2026 by railway-app[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: low Changes to docs, tests, or low-risk modules size: XS < 10 changed lines (excluding docs) skip-regression-check Bypass regression test CI gate (tests exist but not in tests/ dir)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant