[EPAC-1770]: tighten backend APNs boundary check#402
Merged
riddim-developer-bot[bot] merged 1 commit intoMay 10, 2026
Merged
Conversation
|
Symphony expected a reviewer-bot review for the current autonomous PR head within the configured SLA window, but none was found.
|
There was a problem hiding this comment.
ReviewAutonomousPR
- Verdict:
approve - Reviewer boundary:
review_only - Acceptance criteria coverage: covered=0, missing=0, unclear=0
Summary
Correct and minimal fix. The brace-group pattern { grep1; grep2; } 2>/dev/null || true is valid bash — the || true handles the case where the last grep finds no matches, stderr from both greps is suppressed, and stdout from either grep is captured. The pattern "epac/topic-notifier matches the module's exact go.mod name (epac/topic-notifier) and catches all sub-packages. Both required import shapes are now blocked from backend/*/application/ packages.
Actionable findings
- None.
Acceptance criteria coverage
- Not explicitly assessed.
sunnypurewal
pushed a commit
that referenced
this pull request
May 10, 2026
## Why The backend boundary check only blocked the third-party `github.com/sideshow/apns2` client. In this repo, APNs delivery currently lives in the repo-local `epac/topic-notifier` module, so a future `backend/*/application/` package could still depend on that local adapter and incorrectly pass the boundary script. ## What changed - Expanded the APNs boundary check to fail on repo-local `epac/topic-notifier` imports in addition to `github.com/sideshow/apns2`. - Kept the check grep-based so it matches the rest of `scripts/check-boundaries.sh` and remains easy to extend when EPAC-1743 introduces more backend application packages. - Documented the repo-local adapter rationale inline beside the check so the next refactor preserves the intended boundary. ## Trade-offs not taken - I did not add a heavier parser-based Go import inspection step; the existing script already uses grep-based guards and this change stays consistent with that contract. - I did not broaden the pattern to every possible `apns` substring, which would risk false positives unrelated to the actual adapter/module shape we need to block here. ## Test plan - `scripts/check-boundaries.sh` - `bash -n scripts/check-boundaries.sh` - Temp-repo verification: copied `scripts/check-boundaries.sh` into synthetic repos and confirmed: - clean `backend/demo/application/usecase.go` => exit 0 - import `"epac/topic-notifier/apns"` => exit 1 - import `"github.com/sideshow/apns2"` => exit 1 - `cd ios && make build` failed because `xcbeautify` is not installed in this environment. - Fallback per repo instructions: `cd ios && xcodebuild -project epac.xcodeproj -scheme epac -destination 'platform=iOS Simulator,name=iPhone 17 Pro' build` => `** BUILD SUCCEEDED **` ## Screenshots (if UI) N/A — script-only change. Resolves EPAC-1770 Reviewer-Boundary: review-only Estimate-Note: Linear estimate was missing in the handoff, so this run treated the issue as the standard complexity tier. Co-authored-by: riddim-developer-bot <developer-bot@riddimsoftware.com>
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.
Why
The backend boundary check only blocked the third-party
github.com/sideshow/apns2client. In this repo, APNs delivery currently lives in the repo-localepac/topic-notifiermodule, so a futurebackend/*/application/package could still depend on that local adapter and incorrectly pass the boundary script.What changed
epac/topic-notifierimports in addition togithub.com/sideshow/apns2.scripts/check-boundaries.shand remains easy to extend when EPAC-1743 introduces more backend application packages.Trade-offs not taken
apnssubstring, which would risk false positives unrelated to the actual adapter/module shape we need to block here.Test plan
scripts/check-boundaries.shbash -n scripts/check-boundaries.shscripts/check-boundaries.shinto synthetic repos and confirmed:backend/demo/application/usecase.go=> exit 0"epac/topic-notifier/apns"=> exit 1"github.com/sideshow/apns2"=> exit 1cd ios && make buildfailed becausexcbeautifyis not installed in this environment.cd ios && xcodebuild -project epac.xcodeproj -scheme epac -destination 'platform=iOS Simulator,name=iPhone 17 Pro' build=>** BUILD SUCCEEDED **Screenshots (if UI)
N/A — script-only change.
Resolves EPAC-1770
Reviewer-Boundary: review-only
Estimate-Note: Linear estimate was missing in the handoff, so this run treated the issue as the standard complexity tier.