- engineering-docs → archive/2026-03-29-engineering-docs (63/63 tasks complete) - phase-2-production-ready → archive/2026-03-29-phase-2-production-ready (89/89 tasks complete) - openspec/specs/ synced with all Phase 1 + Phase 2 + engineering-docs capabilities (22 specs total) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
985 B
Markdown
24 lines
985 B
Markdown
# Spec: Go SDK (`github.com/sentryagent/idp-sdk-go`)
|
|
|
|
**Status**: Pending CEO approval
|
|
**Workstream**: 3 of 8
|
|
|
|
## Scope
|
|
- `sdk-go/` directory at project root
|
|
- Context-aware `AgentIdPClient` using standard library `net/http`
|
|
- `TokenManager` with mutex-guarded cache and 60s auto-refresh
|
|
- Service clients: `AgentRegistryClient`, `CredentialClient`, `TokenClient`, `AuditClient`
|
|
- Idiomatic Go error type `AgentIdPError` implementing `error` interface
|
|
- `go.mod` module: `github.com/sentryagent/idp-sdk-go`
|
|
- `sdk-go/README.md`
|
|
|
|
## Acceptance Criteria
|
|
- [ ] All 14 endpoints covered
|
|
- [ ] All methods take `context.Context` as first argument
|
|
- [ ] No panics — all errors returned as `error`
|
|
- [ ] `AgentIdPError` implements `error` and exposes `.Code`, `.HTTPStatus`, `.Details`
|
|
- [ ] `TokenManager` is goroutine-safe (`sync.Mutex` on cache)
|
|
- [ ] `go vet` and `staticcheck` pass with zero warnings
|
|
- [ ] `go test ./...` with >80% coverage
|
|
- [ ] README matches Node.js SDK structure
|