Skip to content

feat: add validated collector contracts, lifecycle coordination, and isolated typed snapshot capture for adapters. - #4

Merged
terabytesoftw merged 4 commits into
mainfrom
feat/collectors-contracts
Aug 17, 2026
Merged

terabytesoftw merged 4 commits into
mainfrom
feat/collectors-contracts

Conversation

@terabytesoftw

Copy link
Copy Markdown
Contributor

Pull Request

  • Breaking change (fix or feature that would cause existing functionality to change)
  • Bugfix (non-breaking change that fixes an issue)
  • CI/build configuration
  • Documentation update
  • New feature (non-breaking change that adds functionality)
  • Refactoring (no functional changes)

…isolated typed snapshot capture for adapters.
@codecov

codecov Bot commented Aug 17, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.79265% with 518 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.30%. Comparing base (dc4dde8) to head (6e5656d).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/Panel/Profile/ProfilingSnapshot.php 0.00% 53 Missing ⚠️
src/Panel/Router/RouterSnapshot.php 0.00% 51 Missing ⚠️
src/Panel/Mail/MailMessage.php 45.00% 44 Missing ⚠️
src/Panel/Inertia/InertiaSnapshot.php 0.00% 40 Missing ⚠️
src/Panel/Log/LogSnapshot.php 0.00% 36 Missing ⚠️
src/Panel/Asset/AssetBundleRow.php 43.13% 29 Missing ⚠️
src/Panel/Profile/ProfileTimings.php 0.00% 29 Missing ⚠️
src/Panel/Asset/ViteManifest.php 0.00% 28 Missing ⚠️
src/Panel/Asset/ViteChunk.php 0.00% 25 Missing ⚠️
src/Panel/Request/RequestSnapshot.php 0.00% 22 Missing ⚠️
... and 14 more
Additional details and impacted files
@@             Coverage Diff              @@
##               main       #4      +/-   ##
============================================
- Coverage     97.34%   88.30%   -9.04%     
- Complexity      325     1231     +906     
============================================
  Files            25      103      +78     
  Lines          1016     4662    +3646     
============================================
+ Hits            989     4117    +3128     
- Misses           27      545     +518     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@coderabbitai

coderabbitai Bot commented Aug 17, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 128 files, which is 28 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e5a62ef6-71c3-4e51-8f69-4d1eebeda5e7

📥 Commits

Reviewing files that changed from the base of the PR and between dc4dde8 and 6e5656d.

⛔ Files ignored due to path filters (1)
  • resources/assets/dist/css/debug.min.css is excluded by !**/dist/**, !**/*.min.css
📒 Files selected for processing (128)
  • .github/workflows/build.yml
  • CHANGELOG.md
  • README.md
  • composer-require-checker.json
  • composer.json
  • resources/src/styles/main.css
  • resources/views/snapshot.php
  • src/Collector/CollectorCoordinator.php
  • src/Collector/CollectorInterface.php
  • src/Helper/Dump.php
  • src/Helper/LogLevel.php
  • src/Helper/Tabs.php
  • src/Helper/Text.php
  • src/Helper/Vocabulary.php
  • src/Panel/Asset/AssetBundleNormalizer.php
  • src/Panel/Asset/AssetBundleRow.php
  • src/Panel/Asset/AssetBundleView.php
  • src/Panel/Asset/AssetCardRenderer.php
  • src/Panel/Asset/AssetSnapshot.php
  • src/Panel/Asset/AssetSummary.php
  • src/Panel/Asset/ViteChunk.php
  • src/Panel/Asset/ViteManifest.php
  • src/Panel/Config/ApplicationConfig.php
  • src/Panel/Config/ConfigCardRenderer.php
  • src/Panel/Config/ConfigDataNormalizer.php
  • src/Panel/Config/ConfigSnapshot.php
  • src/Panel/Config/ConfigSummary.php
  • src/Panel/Config/PhpConfig.php
  • src/Panel/Db/DbQueryRenderer.php
  • src/Panel/Db/DbSnapshot.php
  • src/Panel/Db/QueryRow.php
  • src/Panel/Db/SqlHighlighter.php
  • src/Panel/Dump/DumpCardRenderer.php
  • src/Panel/Dump/DumpRow.php
  • src/Panel/Dump/DumpSnapshot.php
  • src/Panel/Event/EventCellRenderer.php
  • src/Panel/Event/EventRow.php
  • src/Panel/Event/EventSnapshot.php
  • src/Panel/Inertia/InertiaSnapshot.php
  • src/Panel/Log/LogCellRenderer.php
  • src/Panel/Log/LogCounts.php
  • src/Panel/Log/LogRow.php
  • src/Panel/Log/LogSnapshot.php
  • src/Panel/Mail/MailCardRenderer.php
  • src/Panel/Mail/MailMessage.php
  • src/Panel/Mail/MailSnapshot.php
  • src/Panel/MemorySample.php
  • src/Panel/Profile/ProfileCellRenderer.php
  • src/Panel/Profile/ProfileRow.php
  • src/Panel/Profile/ProfileTimings.php
  • src/Panel/Profile/ProfilingSnapshot.php
  • src/Panel/Queue/JobPayloadInspector.php
  • src/Panel/Queue/JobRecord.php
  • src/Panel/Queue/QueueCardRenderer.php
  • src/Panel/Queue/QueueDriverDetector.php
  • src/Panel/Queue/QueueGridRenderer.php
  • src/Panel/Queue/QueueSnapshot.php
  • src/Panel/Queue/QueueSummary.php
  • src/Panel/Request/RequestDataNormalizer.php
  • src/Panel/Request/RequestHero.php
  • src/Panel/Request/RequestSection.php
  • src/Panel/Request/RequestSectionRenderer.php
  • src/Panel/Request/RequestSnapshot.php
  • src/Panel/Request/RequestTab.php
  • src/Panel/Request/RequestView.php
  • src/Panel/Router/ActionRouteRow.php
  • src/Panel/Router/CurrentRouteLogRow.php
  • src/Panel/Router/RouterRuleRow.php
  • src/Panel/Router/RouterSnapshot.php
  • src/Panel/Timeline/TimelineSnapshot.php
  • src/Panel/Timeline/TimelineSpanRow.php
  • src/Panel/User/UserAttribute.php
  • src/Panel/User/UserDataNormalizer.php
  • src/Panel/User/UserIdentityHero.php
  • src/Panel/User/UserIdentityRenderer.php
  • src/Panel/User/UserIdentitySection.php
  • src/Panel/User/UserIdentityView.php
  • src/Panel/User/UserSnapshot.php
  • src/PhpInfo/PhpInfoCompactModule.php
  • src/PhpInfo/PhpInfoDataNormalizer.php
  • src/PhpInfo/PhpInfoModuleGroup.php
  • src/PhpInfo/PhpInfoRenderer.php
  • src/PhpInfo/PhpInfoSection.php
  • src/PhpInfo/PhpInfoTile.php
  • src/PhpInfo/PhpInfoTocEntry.php
  • src/PhpInfo/PhpInfoToken.php
  • src/PhpInfo/PhpInfoView.php
  • tests/Collector/CollectorCoordinatorTest.php
  • tests/Helper/DumpTest.php
  • tests/Helper/LogLevelTest.php
  • tests/Helper/TabsTest.php
  • tests/Helper/VocabularyTest.php
  • tests/Panel/Asset/AssetBundleNormalizerTest.php
  • tests/Panel/Asset/AssetCardRendererTest.php
  • tests/Panel/Config/ConfigCardRendererTest.php
  • tests/Panel/Config/ConfigDataNormalizerTest.php
  • tests/Panel/Db/DbQueryRendererTest.php
  • tests/Panel/Db/QueryRowTest.php
  • tests/Panel/Db/SqlHighlighterTest.php
  • tests/Panel/Dump/DumpCardRendererTest.php
  • tests/Panel/Dump/DumpRowTest.php
  • tests/Panel/Event/EventCellRendererTest.php
  • tests/Panel/Event/EventRowTest.php
  • tests/Panel/Log/LogCellRendererTest.php
  • tests/Panel/Log/LogCountsTest.php
  • tests/Panel/Log/LogRowTest.php
  • tests/Panel/Mail/MailCardRendererTest.php
  • tests/Panel/Mail/MailMessageTest.php
  • tests/Panel/Profile/ProfileCellRendererTest.php
  • tests/Panel/Profile/ProfileRowTest.php
  • tests/Panel/Queue/JobPayloadInspectorTest.php
  • tests/Panel/Queue/JobRecordTest.php
  • tests/Panel/Queue/QueueCardRendererTest.php
  • tests/Panel/Queue/QueueDriverDetectorTest.php
  • tests/Panel/Queue/QueueGridRendererTest.php
  • tests/Panel/Queue/QueueSummaryTest.php
  • tests/Panel/Request/RequestDataNormalizerTest.php
  • tests/Panel/Request/RequestSectionRendererTest.php
  • tests/Panel/Router/RouterRowsTest.php
  • tests/Panel/Timeline/TimelineSpanRowTest.php
  • tests/Panel/User/UserDataNormalizerTest.php
  • tests/Panel/User/UserIdentityRendererTest.php
  • tests/PhpInfo/PhpInfoDataNormalizerTest.php
  • tests/PhpInfo/PhpInfoRendererTest.php
  • tests/Provider/AssetBundleNormalizerProvider.php
  • tests/Provider/PhpInfoDataNormalizerProvider.php
  • tests/Support/CollectorFixture.php
  • tests/Support/MockerExtension.php

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

@terabytesoftw
terabytesoftw merged commit 17ac16b into main Aug 17, 2026
41 of 43 checks passed
@terabytesoftw
terabytesoftw deleted the feat/collectors-contracts branch August 17, 2026 19:58
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