docs(adr): accept ADR-0001 — shared Semrush client ownership boundary#1781
Open
aliciadriani wants to merge 3 commits into
Open
docs(adr): accept ADR-0001 — shared Semrush client ownership boundary#1781aliciadriani wants to merge 3 commits into
aliciadriani wants to merge 3 commits into
Conversation
added 2 commits
July 6, 2026 12:58
Records the accepted boundary for LLMO-5975: shared client owns transport (auth, retry/backoff, timeouts, typed errors); consumers own error->HTTP translation, caching, redaction. Records LLMO-5980 (api-service migration) as deliberately deferred, not auto-funded by the confirmed transport-drift trigger -- the live resilience gap is closed directly in api-service instead (tracked separately).
Full revision, not a patch: adds Scope + Non-goals sections, rewrites Context to reflect that api-service already consumes the shared Project Engine/User Manager clients (retry was disabled via maxRetries:0, restored by #2766), and replaces the LLMO-5980 duplication framing with the confirmed four-path coverage map (Project Engine + User Manager migrated; Elements and AI Visibility are not). Boundary section unchanged.
|
This PR will trigger no release when merged. |
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.
Spec
LLMO-5975: agree the ownership boundary for the shared Semrush client before the facade
build-out (LLMO-5977) lands, so subsequent PRs don't re-litigate it.
Boundary decided:
typed error taxonomy.
LLMO-5980 disposition: investigation confirmed transport behavior has already
diverged between spacecat-shared's client and spacecat-api-service's hand-built
Serenity transport (shared has retry/backoff, api-service has none). That divergence
is closed directly via a targeted retry-parity fix in api-service (tracked separately,
not gated on this ADR). Migrating api-service onto the shared client itself is recorded
as "revisit deliberately" — not funded now, not closed as a non-goal. It's a deliberate
future call, sequenced after the facade exists, not something the resilience gap should
stampede.
Implementation plan
docs/adr/0001-shared-semrush-client-ownership.md— status Accepted, starts adocs/adr/practice in this repo (previously no ADR file/directory existed anywherein spacecat-shared; tickets were tracked purely via inline external Jira links).
(typed errors + timeouts, one combined hardening PR), LLMO-5980 (deferred), LLMO-5976
(spec-verify CI gate — independent, already shipped in test(project-engine-client,user-manager-client): spec-verify checksum gate (LLMO-5976) #1777).