burn-down Part B: 14 small rows fixed and closed across four repos (306 -> 292); no :latest in the hub build; gate list pinned; closed-id duplicates refused; R-262 subset pinned
gates / gates (push) Failing after 1m40s
gates / gates (push) Failing after 1m40s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -104,10 +104,11 @@ func (s *Store) DeleteSelfBindTokens(customerID string) error {
|
||||
}
|
||||
|
||||
// CountSelfBindTokens reports how many capability tokens exist for a customer (v0.67.0). Minting is
|
||||
// single-active (delete-then-insert), so this is 0 or 1 in practice; it exists so callers can assert
|
||||
// the "after this runs, the only live link is one we just issued — or none" invariant that the
|
||||
// auto-mint at customer-create / RESET-completion depends on. Read-only, no oracle risk: it is keyed
|
||||
// by customer id, which the operator already knows.
|
||||
// single-active (delete-then-insert), so this is 0 or 1 in practice. It is a TEST ACCESSOR (R-261): no
|
||||
// production code calls it. The "after this runs, the only live link is one we just issued — or none"
|
||||
// invariant the auto-mint at customer-create / RESET-completion depends on is pinned by
|
||||
// web/selfbind_automint_test.go and web/customer_delete_test.go, which call it. Read-only, no oracle risk:
|
||||
// it is keyed by customer id, which the operator already knows.
|
||||
func (s *Store) CountSelfBindTokens(customerID string) (int, error) {
|
||||
var n int
|
||||
err := s.db.QueryRow(`SELECT COUNT(*) FROM selfbind_tokens WHERE customer_id = ?`, customerID).Scan(&n)
|
||||
|
||||
Reference in New Issue
Block a user