smtp: absorb the library and stub the package - #129
Merged
Conversation
The mirror never held a library — main is a two-line README stub and the one open pull request only adds docs for code that was never written. Import it anyway so the package is wired into the monorepo, then give it the smallest shape that satisfies the gates: a manifest, a unit suite with a placeholder test, and the mirror redirect workflow. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
Greptile SummaryThe PR absorbs the empty SMTP package into the monorepo as a deliberately code-free placeholder and configures its read-only mirror.
Confidence Score: 5/5The PR appears safe to merge with no concrete blocking or non-blocking defects identified. Package discovery, splitting, validation, testing, and mirror redirection all recognize the new SMTP directory through existing monorepo conventions, while the placeholder package intentionally exposes no runtime implementation. Important Files Changed
Reviews (1): Last reviewed commit: "smtp: absorb the library and stub the pa..." | Re-trigger Greptile |
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.
Absorbs utopia-php/smtp into the monorepo.
The mirror had no library
mainis a single commit whose only file is a two-lineREADME.mdstub — nocomposer.json, nosrc/, no tests, no tags, nothing on Packagist. The one open mirror pull request (#1) adds a long README describingUtopia\SMTP\Server, native and Swoole adapters, handlers, a client, and telemetry counters, but none of that code was ever written; it linkssrc/SMTP/Handler.php, aci.ymlbadge, and a Packagist badge, all three pointing at nothing.So this imports the history that exists and gives the package the smallest shape that satisfies the gates. Writing the library is a separate job.
What is here
composer.json—utopia-php/smtp, MIT,php >=8.3, no dependencies,testscript onlyphpunit.xml— unit suitetests/Unit/SmtpTest.php— one placeholder testsrc/.gitkeep— empty, but PHPStan and Rector both takesrcandtestsas paths, so the directory has to exist.gitignore, README with the mirror banner, and themirror.ymlredirect workflowNo package
phpstan.neonorrector.php— it falls back to the root configs. No e2e tier, no compose file.composer.lockstays untracked: the root.gitignorecovers it and there is nothing to lock.Two details the gates forced: PHPStan rejects
assertTrue(true)as an already-narrowed type, so the placeholder usesexpectNotToPerformAssertions(); Rector wantsdeclare(strict_types=1)andfinalon the test class.Checks
bin/monorepo check smtp— Pint, PHPStan, Rector passbin/monorepo test smtp— 1 test, OKbin/monorepo validate— passes; root README graph regenerated withsmtpas a leafvale README.md docs packages— 0 errorsMirror
The repository was private when absorb first ran, so the ruleset step 403'd; it was made public and the step re-run. Ruleset 20795955 is active with the split app bypassing, and there is no classic branch protection, so the first split should push cleanly.
Follow-up: mirror PR #1 needs manual triage —
mirror.ymlonly redirects new pull requests. It is the closest thing to a spec for the real library, so it is worth keeping somewhere before closing it.🤖 Generated with Claude Code