Dev.to Β· 3 min read

SnapTicket: Turn Client-Side Crashes Into Instant Engineering Tickets

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

More AI & Machine Learning News