Skip to content

Release v0.1.4 — Phase 04 MVP Converter Capabilities#74

Merged
menvil merged 27 commits into
mainfrom
release/v0.1.4-phase04-mvp-converter-capabilities
May 29, 2026
Merged

Release v0.1.4 — Phase 04 MVP Converter Capabilities#74
menvil merged 27 commits into
mainfrom
release/v0.1.4-phase04-mvp-converter-capabilities

Conversation

@menvil

@menvil menvil commented May 29, 2026

Copy link
Copy Markdown
Owner

Summary

Phase 04 ships the MVP converter capability layer (metadata only, no real conversion drivers yet).

  • CONV-046: MVP capability whitelist in config/converters.php.
  • CONV-047 / CONV-051: Registry target-capability tests for PNG and JPG sources.
  • CONV-048..050: PNG → JPG / WEBP / PDF converter capabilities with options schemas.
  • CONV-052..054: JPG → PNG / WEBP / PDF converter capabilities with options schemas.
  • CONV-055: Converter::isRecommended() metadata; PNG→JPG and JPG→WEBP marked recommended.
  • CONV-056: ConverterServiceProvider binds the six MVP converters to a singleton ConverterRegistry; unsupported formats return null/empty instead of throwing.
  • CONV-057: Catalog smoke tests (six expected pairs, valid schemas/defaults, label/description present, parity with config).

Out of scope (deferred)

No real conversion drivers, file upload, jobs/queues, UI, billing, API.

Test plan

  • composer test — 139 passed, 0 skipped
  • composer lint
  • npm run build

Summary by cubic

Adds the Phase 04 MVP converter capability layer for images. Ships six JPG/PNG capability pairs with option schemas and recommended targets; metadata-only (no conversion drivers).

  • New Features

    • Adds config/converters.php MVP whitelist with six pairs: png:jpg, png:webp, png:pdf, jpg:png, jpg:webp, jpg:pdf (CONV-046).
    • Implements six converters with labels, descriptions, and option schemas/defaults (CONV-048..054).
    • Introduces isRecommended() metadata; png:jpg and jpg:webp are recommended (CONV-055).
    • Registers converters via ConverterServiceProvider into a singleton ConverterRegistry; unsupported formats return null/empty instead of throwing (CONV-056).
    • Adds registry/capability tests for targets, schemas, defaults, and config parity (CONV-047, CONV-051, CONV-057).
  • Dependencies

    • Update .coderabbit.yaml to run auto-reviews only on main base branch.

Written for commit ddc3ba0. Summary will update on new commits.

Review in cubic

menvil added 25 commits May 29, 2026 11:53
Backmerge main into develop to sync release history.
…ter-capability-list

CONV-046: Create MVP converter capability list
…apabilities

CONV-047: Test PNG target capabilities
…nverter-capability

CONV-048: Add PNG to JPG converter capability
…onverter-capability

CONV-049: Add PNG to WEBP converter capability
…nverter-capability

CONV-050: Add PNG to PDF converter capability
…apabilities

CONV-051: Test JPG target capabilities
…nverter-capability

CONV-052: Add JPG to PNG converter capability
…onverter-capability

CONV-053: Add JPG to WEBP converter capability
…nverter-capability

CONV-054: Add JPG to PDF converter capability
…arget-metadata

CONV-055: Add recommended target metadata
…erter-capabilities

CONV-056: Register MVP converter capabilities
…alog-smoke-tests

CONV-057: Add converter catalog smoke tests
@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@menvil, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 54 minutes and 16 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 36da93eb-3c53-4042-9ced-54772567cde1

📥 Commits

Reviewing files that changed from the base of the PR and between 0825f30 and ddc3ba0.

📒 Files selected for processing (25)
  • .coderabbit.yaml
  • app/Providers/ConverterServiceProvider.php
  • app/Support/Converters/Contracts/Converter.php
  • app/Support/Converters/ConverterRegistry.php
  • app/Support/Converters/Image/JpgToPdfConverter.php
  • app/Support/Converters/Image/JpgToPngConverter.php
  • app/Support/Converters/Image/JpgToWebpConverter.php
  • app/Support/Converters/Image/PngToJpgConverter.php
  • app/Support/Converters/Image/PngToPdfConverter.php
  • app/Support/Converters/Image/PngToWebpConverter.php
  • bootstrap/providers.php
  • config/converters.php
  • tests/Fakes/Converters/FakeJpgToWebpConverter.php
  • tests/Fakes/Converters/FakePngToJpgConverter.php
  • tests/Fakes/Converters/FakePngToPdfConverter.php
  • tests/Unit/Converters/ConverterRegistryTargetsTest.php
  • tests/Unit/Converters/Image/JpgToPdfConverterTest.php
  • tests/Unit/Converters/Image/JpgToPngConverterTest.php
  • tests/Unit/Converters/Image/JpgToWebpConverterTest.php
  • tests/Unit/Converters/Image/PngToJpgConverterTest.php
  • tests/Unit/Converters/Image/PngToPdfConverterTest.php
  • tests/Unit/Converters/Image/PngToWebpConverterTest.php
  • tests/Unit/Converters/MvpConverterCapabilityListTest.php
  • tests/Unit/Converters/MvpConverterCatalogSmokeTest.php
  • tests/Unit/Converters/RecommendedTargetMetadataTest.php
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.1.4-phase04-mvp-converter-capabilities

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 and usage tips.

@github-actions github-actions Bot added the release Triggers AI code review (CodeRabbit, Cubic) label May 29, 2026
@menvil

menvil commented May 29, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@menvil

menvil commented May 29, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@menvil menvil merged commit 6298131 into main May 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Triggers AI code review (CodeRabbit, Cubic)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant