feat(error-tracking-settings): singleton SDK factory + pipeline - #93
Open
pl wants to merge 2 commits into
Open
Conversation
Add error_tracking settings retrieve_settings (GET) + update_settings (PATCH)
to the openapi allowlist and regenerate src/generated/api.d.ts. These are the
custom action routes the error-tracking settings singleton uses.
Spike detection config is intentionally NOT added: its update_config endpoint
rejects personal API key access ("This action does not support personal API
key access"), so it can't be managed by the CLI (see the feat commit's
excluded-resource note).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds the error-tracking settings singleton (add-singleton-resource pattern):
field-scoped PATCH of the exception-ingestion rate limits
(project_rate_limit_value / _bucket_size_minutes, per_issue_rate_limit_value /
_bucket_size_minutes). GET via the custom retrieve_settings route, PATCH via
update_settings. Only declared fields are written; `null` removes a limit,
omitting a key leaves the server value alone.
Live-verified on project 806 (add-singleton-resource flow): apply -> no-op
re-apply (unchanged) -> edit one field -> single-field PATCH -> field-scoping
invariant (an undeclared field set out-of-band survives re-apply untouched).
All test state restored to the original (all-null) afterward.
Spike detection config — the sibling singleton in this branch's original scope
— is EXCLUDED and shipped as report-only: its `update_config` write endpoint
rejects personal API key access ("This action does not support personal API
key access"), so the CLI cannot manage it. Marked 🚫 in docs/resources.md
(the settings GET works, but there is no write path for our auth). This PR
therefore ships one singleton, not two.
Scope: error_tracking:read / error_tracking:write.
Stacks on #81 (pl/spec-migration); retarget to main when #81 merges.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
pl
added a commit
that referenced
this pull request
Jul 23, 2026
…ble, alerts deferred Error tracking settings shipped (#93); spike detection config excluded (write endpoint rejects personal API keys). Alerts deferred: only marker home is the notification-facing name field. Two new upstream issue candidates recorded. Co-Authored-By: Claude Fable 5 <noreply@anthropic.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.
Adds the error-tracking settings singleton (via the
add-singleton-resourcepattern). Ships one singleton, not two — see the spike-detection exclusion below.Error tracking settings (shipped)
Field-scoped PATCH of the four exception-ingestion rate limits (
project_rate_limit_value/_bucket_size_minutes,per_issue_rate_limit_value/_bucket_size_minutes). GET via the customretrieve_settingsroute, PATCH viaupdate_settings. Only declared fields are written;nullremoves a limit, omitting a key leaves the server value alone.Live-verified on 806 (add-singleton flow): apply → no-op re-apply (unchanged) → edit one field → single-field PATCH → field-scoping invariant (an undeclared field set out-of-band survives re-apply untouched). All test state restored to the original all-null afterward.
Spike detection config (excluded — report-only)
The sibling singleton the branch was scoped for is not buildable: its
update_configwrite endpoint rejects personal API key access — both PATCH and POST return"This action does not support personal API key access". The GET works, but there is no write path for our auth (the CLI is personal-API-key only), so it can't round-trip. Marked 🚫 indocs/resources.md. This is the singleton analogue of the data-color-themes verdict: read-only surface for our tooling.Splitting the PR would leave an empty second half, so this is one singleton with the exclusion documented — flagging in case the tracker expected two.
Surprises
spike_detection_configGET schema declares an array response, but the live endpoint returns a single object (serializer drift) — it is a singleton in practice regardless.Scope:
error_tracking:read/error_tracking:write. Singletons are excluded from the smoke seed (would mutate an unrestorable project-wide row). Gates green (typecheck,typecheck:examples,test— 300 pass,lint).Stacks on #81 (base
pl/spec-migration) — codegen only compiles there. Retarget tomainwhen #81 merges.🤖 Generated with Claude Code