π« 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 (
.ipsreports) 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 (
.ipsfiles) 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.
Top comments (0)