dotfiles/.claude/projects/-Users-steve-briggs-projects-televibe/memory/project_televibe.md
2026-05-22 15:54:54 -04:00

20 lines
2 KiB
Markdown

---
name: televibe project
description: Greenfield Teleport access plugin built in Go that AI-risk-scores access requests and conditionally files ITSM Jira tickets
type: project
originSessionId: b94f12fe-9fb8-45ba-8dd5-65f49e81db87
---
televibe is a new Go-based Teleport access plugin (modeled on the official Jira access plugin) living at /Users/steve.briggs/projects/televibe. Initialized 2026-04-22.
**What it does:** watches Teleport access requests; sends request reason + roles to a configurable AI provider (Anthropic direct API, AWS Bedrock, or generic webhook — one at a time) for a risk assessment; combines AI scores with structural checks (CUSTX-### ticket regex in description, description length, off-hours timing) into a 0-100 score; maps to Gen-Z slang tiers (no cap / sus / mad sus fr / straight L, touch grass).
**Behavior:** below configurable `ticket_threshold` → auto-approve via `SubmitAccessReview`. At or above → create ticket in configurable Jira project (defaults to "ITSM") and hold the Teleport request in PENDING. A poller reconciles ITSM ticket status to Teleport approval/denial — an SRE transitioning the ITSM ticket to the approved or rejected status drives the Teleport decision.
**Why:** User wants to gate privileged access through AI review + SRE-controlled Jira workflow, with low-risk requests bypassing the Jira overhead entirely.
**How to apply:** When extending or debugging, remember:
- Module path is plain `televibe` (no github prefix yet) — user must run `go mod tidy` to pull deps.
- Top-level `Config` in config.go composes per-package `Config` types from ai/, risk/, jira/.
- Anthropic provider uses direct HTTP (not the SDK) with prompt caching on the system block.
- State recovery across restarts is via `jira.ListOpenTeleportTickets` (JQL search for `labels = televibe`), parsing Teleport request ID out of the ticket description.
- ITSM ticket description uses Jira wiki markup, not ADF — will need adjustment if targeting Jira Cloud REST v3.