Skip to content

fix(pat): surface issuance degradations at Warn and correct the docs note - #150

Merged
highb merged 1 commit into
santhosh.kumar/credential-issuancefrom
c1-squire-dev/IGA-3962-degradation-visibility
Aug 25, 2026
Merged

fix(pat): surface issuance degradations at Warn and correct the docs note#150
highb merged 1 commit into
santhosh.kumar/credential-issuancefrom
c1-squire-dev/IGA-3962-degradation-visibility

Conversation

@c1-squire-dev

@c1-squire-dev c1-squire-dev Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Fourth in the stack, after #149. Both suggestions from the judge review on 2220f4d8; both are consequences of #149's own changes.

Degradations logged below the default level

#149 added two privilege degradations to Issue — the skipped default-role check, and the locally computed expiry substituted when the read-back is denied. Both logged at Debug, so at the default level an operator saw nothing distinguishing an estimated expiry from one Snowflake actually returned.

.claude/skills/ci-review.md L4 puts skip-and-continue degradation at Warn, and both fire once per issuance rather than once per resource, so L7's volume concern does not apply. The read-back message now also carries the estimated expiry it substituted, so the value is visible rather than merely implied.

The token builder's own skip in ListProgrammaticAccessTokens deliberately stays at Debug. That one fires once per user per sync and is exactly the per-resource case the same rules keep quiet.

Stale docs note

The service-user <Note> still said the connector "verifies that role is actually granted to the user first". Since #149 that check is best-effort — when the connector's role cannot run SHOW GRANTS TO USER it is skipped and Snowflake rejects an ungranted role itself. Softened to match, and the two failure modes are now stated separately rather than collapsed into one sentence.

Verification

go test ./pkg/... and golangci-lint run ./pkg/... are clean. No behaviour change beyond log level and log fields, so no new tests.

…note

Both privilege degradations added in #149 logged at Debug, so at the default
level an operator saw nothing distinguishing a locally computed expiry from one
Snowflake actually returned. Per the repo's log-level rules a skip-and-continue
degradation is Warn, and both fire once per issuance rather than per resource, so
there is no volume concern. The read-back message now also carries the estimated
expiry it substituted.

The token builder's own skip in ListProgrammaticAccessTokens stays at Debug: that
one fires once per user per sync and is the per-resource case the same rules keep
quiet.

The service-user note in the docs still claimed the connector verifies the
default-role grant before issuing. That has been best-effort since #149, so it is
softened to match.

Co-authored-by: c1-squire-dev[bot] <c1-squire-dev[bot]@users.noreply.github.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@linear-code

linear-code Bot commented Aug 25, 2026

Copy link
Copy Markdown

IGA-3962

@highb
highb merged commit 081a0c3 into santhosh.kumar/credential-issuance Aug 25, 2026
9 of 10 checks passed
@highb
highb deleted the c1-squire-dev/IGA-3962-degradation-visibility branch August 25, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant