Documentation
¶
Overview ¶
Package events provides event logging for the gt activity feed.
Events are written to ~/gt/.events.jsonl (raw audit log) and later curated by the feed daemon into ~/.feed.jsonl (user-facing).
Index ¶
- Constants
- func BootPayload(rig string, agents []string) map[string]interface{}
- func DonePayload(beadID, branch string) map[string]interface{}
- func EscalationPayload(rig, target, to, reason string) map[string]interface{}
- func HaltPayload(services []string) map[string]interface{}
- func HandoffPayload(subject string, toSession bool) map[string]interface{}
- func HookPayload(beadID string) map[string]interface{}
- func KillPayload(rig, target, reason string) map[string]interface{}
- func Log(eventType, actor string, payload map[string]interface{}, visibility string) error
- func LogAudit(eventType, actor string, payload map[string]interface{}) error
- func LogFeed(eventType, actor string, payload map[string]interface{}) error
- func MailPayload(to, subject string) map[string]interface{}
- func MergePayload(mrID, worker, branch, reason string) map[string]interface{}
- func NudgePayload(rig, target, reason string) map[string]interface{}
- func PatrolPayload(rig string, polecatCount int, message string) map[string]interface{}
- func PolecatCheckPayload(rig, polecat, status, issue string) map[string]interface{}
- func SessionPayload(sessionID, role, topic, cwd string) map[string]interface{}
- func SlingPayload(beadID, target string) map[string]interface{}
- func SpawnPayload(rig, polecat string) map[string]interface{}
- func UnhookPayload(beadID string) map[string]interface{}
- type Event
Constants ¶
const ( VisibilityAudit = "audit" // Only in raw events log VisibilityFeed = "feed" // Appears in curated feed VisibilityBoth = "both" // Both audit and feed )
Visibility levels for events.
const ( TypeSling = "sling" TypeHook = "hook" TypeUnhook = "unhook" TypeHandoff = "handoff" TypeDone = "done" TypeMail = "mail" TypeSpawn = "spawn" TypeKill = "kill" TypeNudge = "nudge" TypeBoot = "boot" TypeHalt = "halt" // Session events (for seance discovery) TypeSessionStart = "session_start" TypeSessionEnd = "session_end" // Witness patrol events TypePatrolStarted = "patrol_started" TypePolecatChecked = "polecat_checked" TypePolecatNudged = "polecat_nudged" TypeEscalationSent = "escalation_sent" TypePatrolComplete = "patrol_complete" // Merge queue events (emitted by refinery) TypeMergeStarted = "merge_started" TypeMerged = "merged" TypeMergeFailed = "merge_failed" TypeMergeSkipped = "merge_skipped" )
Common event types for gt commands.
const EventsFile = ".events.jsonl"
EventsFile is the name of the raw events log.
Variables ¶
This section is empty.
Functions ¶
func BootPayload ¶
BootPayload creates a payload for rig boot events.
func DonePayload ¶
DonePayload creates a payload for done events.
func EscalationPayload ¶
EscalationPayload creates a payload for escalation events.
func HaltPayload ¶
HaltPayload creates a payload for halt events.
func HandoffPayload ¶
HandoffPayload creates a payload for handoff events.
func HookPayload ¶
HookPayload creates a payload for hook events.
func KillPayload ¶
KillPayload creates a payload for kill events.
func Log ¶
Log writes an event to the events log. The event is appended to ~/gt/.events.jsonl. Returns nil if logging fails (events are best-effort).
func MailPayload ¶
MailPayload creates a payload for mail events.
func MergePayload ¶
MergePayload creates a payload for merge queue events. mrID: merge request ID worker: polecat name that submitted the work branch: source branch being merged reason: failure reason (for merge_failed/merge_skipped events)
func NudgePayload ¶
NudgePayload creates a payload for nudge events.
func PatrolPayload ¶
PatrolPayload creates a payload for patrol start/complete events.
func PolecatCheckPayload ¶
PolecatCheckPayload creates a payload for polecat check events.
func SessionPayload ¶
SessionPayload creates a payload for session start/end events. sessionID: Cursor session UUID role: Gas Town role (e.g., "gastown/crew/joe", "deacon") topic: What the session is working on cwd: Working directory
func SlingPayload ¶
SlingPayload creates a payload for sling events.
func SpawnPayload ¶
SpawnPayload creates a payload for spawn events.
func UnhookPayload ¶
UnhookPayload creates a payload for unhook events.