SnapTicket: Turn Client-Side Crashes Into Instant Engineering Tickets
π« SnapTicket Agent Autonomous Incident Triage & Telemetry Fusion Engine β‘ Executive Summary SnapTicket bridges the critical chasm between chaotic client-side runtime crashes and structured engineering issue trackers. By fusing low-level macOS diagnostic telemetry (.ips reports) with visual error screenshots, SnapTicket leverages Gemma 4 to eliminate ambiguous bug reports, diagnose root causes in seconds, and dispatch production-ready tickets seamlessly. π 01 // The Friction: The "It Crashed" Dilemma When an application fails in production, teams face a massive information gap: The User Side: End-user reports are notoriously vague ("the screen froze"), lacking essential stack traces, exception codes, and environment metadata. The System Side: Native OS crash logs (.ips files) contain invaluable post-mortem dataβmemory registers, faulting thread dumps, and dyld imagesβbut are buried in cryptic system directories (~/Library/Logs/DiagnosticReports/). The Manual Bottleneck: Manually correlating when a user captured a visual glitch with which thread faulted in the system logs wastes hours of engineering triage time. π§ 02 // The Solution: Autonomous Telemetry & Visual Fusion SnapTicket automates this pipeline entirely through a local-first, multimodal approach: ββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββ β Visual Glitch Capture β + β macOS Telemetry (.ips Log Trace) β β (Retina Screenshot) β β (Faulting Thread, Exception Code)β βββββββββββββ¬βββββββββββββ ββββββββββββββββββ¬ββββββββββββββββββ β β βββββββββββββββββββ¬βββββββββββββββββββ βΌ ββββββββββββββββββββββββββββββββββββββββββββββββ β Gemma 4 Multimodal Reasoning β β - Correlates UI error state with log dumps β β - Identifies target app category (Native/3rd)β β - Formats reproduction steps & diagnostics β β - Dynamically deduces canonical portal URL β βββββββββββββββββββββββ¬βββββββββββββββββββββββββ βΌ ββββββββββββββββββββββββββββββββββββββββββββββββ β Privacy & Consent Control Studio β β [Attach Visual Evidence] vs [Text Only] β βββββββββββββββββββββββ¬βββββββββββββββββββββββββ βΌ Automated Dispatch Pipeline βββ Channel A: Authenticated GitHub REST API βββ Channel B: Human-Assisted Web Portal Co-Pilot π οΈ 03 // Core Architecture & CapabilitiesPassive Telemetry SensingNon-intrusively scans ~/Library/Logs/DiagnosticReports/ for recent incident dumps, extracting exact exception codes and faulting process names instantly.Context-Aware ClassificationDeduces whether an app is a Native macOS App (routing toward Apple Feedback Assistant) or a 3rd-Party App (routing to respective repositories).Multimodal Inference (Gemma 4)Downscales Retina captures to optimize memory headroom, fusing visual pixel evidence with stack trace telemetry into a structured Markdown report.Binary Privacy Consent GateEnables total data custody with a binary toggle: attach visual proof or strip images completely for an air-gapped, text-only diagnostic dispatch.Dual-Channel DispatcherPushes clean Markdown tickets directly via authenticated GitHub REST APIs or stages them via a browser co-pilot paired with native pbcopy clipboard fallback.π 04 // Technical SpecificationsComponentTechnology / ImplementationRoleCore AI EngineGemma 4 (via local Ollama or Google AI Studio)Multimodal visual and log cross-reasoningBackend FrameworkFastAPI + Uvicorn (Async Python)Non-blocking REST API endpointsOS Telemetry ParserCustom Python log sensor (core/log_sensor.py)Extracts .ips exception vectors & threadsFrontend UIVanilla HTML5 / CSS3 (Zero-dependency)Responsive dashboard with animated progress trackingDispatch PipelineGitHub REST API & Playwright / pbcopyAutomated issue creation & browser autofillπ 05 // Quickstart GuideGet the project running locally in seconds:Bash# 1. Clone the repository git clone https://github.com/AtharvVhanalkar/snapticket-agent.git cd snapticket-agent 2. Install dependencies pip3 install -r requirements.txt 3. Configure environment cp .env.example .env 4. Launch the agent server python3 main.py Open http://127.0.0.1:8000 in your browser to start triaging.π 06 // Security & Data SovereigntyLocal Sovereignty: When running in local mode via Ollama, diagnostics, logs, and screenshots never leave your machine.Credential Protection: API keys and tokens are restricted strictly to local .env variables and excluded from version control.
This is a summary aggregated from Dev.to. Read the complete article on the original site:
Read full article at Dev.to