irongit

feat: add har file to samples

huncholanehuncholaneauthored
parent de1bbb3commit 1fdb8907c5948e7f301b937f6fee2c7bdc499076Browse files

1 file changed, +307 -0

+307-0samples/public/sample_api.har
@@ -0,0 +1,307 @@
1+{
2+ "log": {
3+ "version": "1.2",
4+ "creator": {
5+ "name": "jv-sample",
6+ "version": "1.0"
7+ },
8+ "entries": [
9+ {
10+ "startedDateTime": "2026-01-15T10:00:00.000Z",
11+ "time": 124,
12+ "request": {
13+ "method": "GET",
14+ "url": "https://api.example.com/v2/users?page=1&limit=25",
15+ "httpVersion": "HTTP/2.0",
16+ "headers": [],
17+ "queryString": [
18+ { "name": "page", "value": "1" },
19+ { "name": "limit", "value": "25" }
20+ ],
21+ "cookies": [],
22+ "headersSize": -1,
23+ "bodySize": 0
24+ },
25+ "response": {
26+ "status": 200,
27+ "statusText": "OK",
28+ "httpVersion": "HTTP/2.0",
29+ "headers": [],
30+ "cookies": [],
31+ "content": {
32+ "size": 4096,
33+ "mimeType": "application/json",
34+ "text": "{\"data\":[{\"id\":1001,\"username\":\"aturing\",\"display_name\":\"Alan Turing\",\"email\":\"alan@bletchley.example.com\",\"role\":\"admin\",\"verified\":true,\"created_at\":\"2024-03-10T08:00:00Z\",\"last_active\":\"2026-01-15T09:45:00Z\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\",\"profile\":{\"bio\":\"Pioneer of computer science and artificial intelligence\",\"location\":{\"city\":\"Cambridge\",\"country\":\"GB\",\"timezone\":\"Europe/London\",\"coordinates\":{\"lat\":52.2053,\"lng\":0.1218}},\"social\":{\"github\":\"aturing\",\"twitter\":null,\"website\":\"https://example.com/aturing\"},\"settings\":{\"theme\":\"dark\",\"locale\":\"en-GB\",\"notifications\":{\"email\":true,\"push\":true,\"sms\":false,\"digest_frequency\":\"weekly\"}}},\"teams\":[{\"team_id\":\"T-100\",\"name\":\"Core Platform\",\"role\":\"lead\",\"joined_at\":\"2024-03-10T08:00:00Z\"},{\"team_id\":\"T-200\",\"name\":\"Security\",\"role\":\"member\",\"joined_at\":\"2024-06-01T00:00:00Z\"}],\"permissions\":[\"read\",\"write\",\"admin\",\"deploy\"],\"metadata\":{\"login_count\":847,\"session_duration_avg\":3600,\"last_ip\":\"192.168.1.100\",\"user_agent\":\"Mozilla/5.0\"}},{\"id\":1002,\"username\":\"grhopper\",\"display_name\":\"Grace Hopper\",\"email\":\"grace@navy.example.com\",\"role\":\"developer\",\"verified\":true,\"created_at\":\"2024-05-22T14:30:00Z\",\"last_active\":\"2026-01-14T18:00:00Z\",\"avatar_url\":\"https://i.pravatar.cc/150?u=grhopper\",\"profile\":{\"bio\":\"Compiler pioneer and debugging legend\",\"location\":{\"city\":\"Arlington\",\"country\":\"US\",\"timezone\":\"America/New_York\",\"coordinates\":{\"lat\":38.8816,\"lng\":-77.0910}},\"social\":{\"github\":\"grhopper\",\"twitter\":\"@grhopper\",\"website\":null},\"settings\":{\"theme\":\"light\",\"locale\":\"en-US\",\"notifications\":{\"email\":true,\"push\":false,\"sms\":false,\"digest_frequency\":\"daily\"}}},\"teams\":[{\"team_id\":\"T-300\",\"name\":\"Compiler Team\",\"role\":\"lead\",\"joined_at\":\"2024-05-22T14:30:00Z\"}],\"permissions\":[\"read\",\"write\",\"deploy\"],\"metadata\":{\"login_count\":532,\"session_duration_avg\":5400,\"last_ip\":\"10.0.0.42\",\"user_agent\":\"Mozilla/5.0\"}}],\"pagination\":{\"page\":1,\"per_page\":25,\"total\":87,\"total_pages\":4,\"has_next\":true,\"has_prev\":false},\"meta\":{\"request_id\":\"req-abc-001\",\"response_time_ms\":124,\"api_version\":\"2.3.1\",\"rate_limit\":{\"limit\":1000,\"remaining\":994,\"reset_at\":\"2026-01-15T11:00:00Z\"}}}"
35+ },
36+ "redirectURL": "",
37+ "headersSize": -1,
38+ "bodySize": 4096
39+ },
40+ "cache": {},
41+ "timings": {
42+ "send": 1,
43+ "wait": 120,
44+ "receive": 3
45+ }
46+ },
47+ {
48+ "startedDateTime": "2026-01-15T10:00:01.000Z",
49+ "time": 89,
50+ "request": {
51+ "method": "GET",
52+ "url": "https://api.example.com/v2/users/1001/projects",
53+ "httpVersion": "HTTP/2.0",
54+ "headers": [],
55+ "queryString": [],
56+ "cookies": [],
57+ "headersSize": -1,
58+ "bodySize": 0
59+ },
60+ "response": {
61+ "status": 200,
62+ "statusText": "OK",
63+ "httpVersion": "HTTP/2.0",
64+ "headers": [],
65+ "cookies": [],
66+ "content": {
67+ "size": 3200,
68+ "mimeType": "application/json; charset=utf-8",
69+ "text": "{\"data\":[{\"project_id\":\"PRJ-001\",\"name\":\"Enigma Decoder\",\"description\":\"Automated cipher analysis tool\",\"visibility\":\"private\",\"status\":\"active\",\"language\":\"Rust\",\"created_at\":\"2024-04-01T10:00:00Z\",\"updated_at\":\"2026-01-10T16:30:00Z\",\"archived\":false,\"stars\":142,\"forks\":28,\"open_issues\":7,\"owner\":{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\"},\"repository\":{\"url\":\"https://git.example.com/aturing/enigma-decoder\",\"default_branch\":\"main\",\"size_kb\":48200,\"last_commit\":{\"sha\":\"a1b2c3d4e5f6\",\"message\":\"Fix rotator alignment edge case\",\"author\":\"aturing\",\"committed_at\":\"2026-01-10T16:30:00Z\"}},\"ci\":{\"provider\":\"github-actions\",\"status\":\"passing\",\"last_run\":\"2026-01-10T16:35:00Z\",\"badge_url\":\"https://picsum.photos/id/1/80/20\"},\"tags\":[\"cryptography\",\"analysis\",\"cli\"],\"contributors\":[{\"id\":1001,\"username\":\"aturing\",\"commits\":312,\"additions\":28400,\"deletions\":12100},{\"id\":1002,\"username\":\"grhopper\",\"commits\":45,\"additions\":3200,\"deletions\":1800}]},{\"project_id\":\"PRJ-002\",\"name\":\"Turing Machine Simulator\",\"description\":\"Visual simulator for abstract computation models\",\"visibility\":\"public\",\"status\":\"active\",\"language\":\"TypeScript\",\"created_at\":\"2025-01-15T09:00:00Z\",\"updated_at\":\"2025-12-20T11:00:00Z\",\"archived\":false,\"stars\":891,\"forks\":156,\"open_issues\":23,\"owner\":{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\"},\"repository\":{\"url\":\"https://git.example.com/aturing/tm-simulator\",\"default_branch\":\"main\",\"size_kb\":12800,\"last_commit\":{\"sha\":\"f6e5d4c3b2a1\",\"message\":\"Add multi-tape support\",\"author\":\"aturing\",\"committed_at\":\"2025-12-20T11:00:00Z\"}},\"ci\":{\"provider\":\"github-actions\",\"status\":\"passing\",\"last_run\":\"2025-12-20T11:05:00Z\",\"badge_url\":\"https://picsum.photos/id/2/80/20\"},\"tags\":[\"simulation\",\"education\",\"web\"],\"contributors\":[{\"id\":1001,\"username\":\"aturing\",\"commits\":189,\"additions\":15600,\"deletions\":4300}]}],\"pagination\":{\"page\":1,\"per_page\":25,\"total\":2,\"total_pages\":1,\"has_next\":false,\"has_prev\":false},\"meta\":{\"request_id\":\"req-abc-002\",\"response_time_ms\":89,\"api_version\":\"2.3.1\",\"rate_limit\":{\"limit\":1000,\"remaining\":993,\"reset_at\":\"2026-01-15T11:00:00Z\"}}}"
70+ },
71+ "redirectURL": "",
72+ "headersSize": -1,
73+ "bodySize": 3200
74+ },
75+ "cache": {},
76+ "timings": {
77+ "send": 1,
78+ "wait": 85,
79+ "receive": 3
80+ }
81+ },
82+ {
83+ "startedDateTime": "2026-01-15T10:00:02.000Z",
84+ "time": 156,
85+ "request": {
86+ "method": "GET",
87+ "url": "https://api.example.com/v2/projects/PRJ-001/issues?status=open&priority=high",
88+ "httpVersion": "HTTP/2.0",
89+ "headers": [],
90+ "queryString": [
91+ { "name": "status", "value": "open" },
92+ { "name": "priority", "value": "high" }
93+ ],
94+ "cookies": [],
95+ "headersSize": -1,
96+ "bodySize": 0
97+ },
98+ "response": {
99+ "status": 200,
100+ "statusText": "OK",
101+ "httpVersion": "HTTP/2.0",
102+ "headers": [],
103+ "cookies": [],
104+ "content": {
105+ "size": 2800,
106+ "mimeType": "application/json",
107+ "text": "{\"data\":[{\"issue_id\":\"ISS-101\",\"project_id\":\"PRJ-001\",\"title\":\"Memory leak in long-running decryption sessions\",\"body\":\"After ~6 hours of continuous operation, memory usage climbs to 4GB+.\\n\\nSteps to reproduce:\\n1. Start decoder with large corpus\\n2. Let run overnight\\n3. Observe RSS growth\",\"status\":\"open\",\"priority\":\"high\",\"type\":\"bug\",\"created_at\":\"2025-12-01T09:00:00Z\",\"updated_at\":\"2026-01-08T14:00:00Z\",\"closed_at\":null,\"due_date\":\"2026-02-01\",\"estimated_hours\":16.0,\"actual_hours\":null,\"author\":{\"id\":1002,\"username\":\"grhopper\",\"avatar_url\":\"https://i.pravatar.cc/150?u=grhopper\"},\"assignees\":[{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\"}],\"labels\":[{\"id\":\"L-1\",\"name\":\"bug\",\"color\":\"#e74c3c\"},{\"id\":\"L-5\",\"name\":\"performance\",\"color\":\"#f39c12\"}],\"milestone\":{\"id\":\"M-3\",\"title\":\"v2.0 Release\",\"due_date\":\"2026-03-01\",\"progress\":0.65},\"comments_count\":12,\"reactions\":{\"thumbs_up\":5,\"thumbs_down\":0,\"heart\":2,\"eyes\":3}},{\"issue_id\":\"ISS-107\",\"project_id\":\"PRJ-001\",\"title\":\"Support for Naval Enigma M4 variant\",\"body\":\"The current implementation only handles 3-rotor Enigma. We need support for the 4-rotor Naval variant (M4) used by U-boats.\",\"status\":\"open\",\"priority\":\"high\",\"type\":\"feature\",\"created_at\":\"2026-01-05T11:30:00Z\",\"updated_at\":\"2026-01-12T09:00:00Z\",\"closed_at\":null,\"due_date\":\"2026-04-15\",\"estimated_hours\":40.0,\"actual_hours\":null,\"author\":{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\"},\"assignees\":[{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\"},{\"id\":1002,\"username\":\"grhopper\",\"avatar_url\":\"https://i.pravatar.cc/150?u=grhopper\"}],\"labels\":[{\"id\":\"L-2\",\"name\":\"enhancement\",\"color\":\"#3498db\"},{\"id\":\"L-3\",\"name\":\"crypto\",\"color\":\"#9b59b6\"}],\"milestone\":{\"id\":\"M-3\",\"title\":\"v2.0 Release\",\"due_date\":\"2026-03-01\",\"progress\":0.65},\"comments_count\":8,\"reactions\":{\"thumbs_up\":15,\"thumbs_down\":0,\"heart\":7,\"eyes\":4}}],\"pagination\":{\"page\":1,\"per_page\":25,\"total\":2,\"total_pages\":1,\"has_next\":false,\"has_prev\":false},\"meta\":{\"request_id\":\"req-abc-003\",\"response_time_ms\":156,\"api_version\":\"2.3.1\",\"rate_limit\":{\"limit\":1000,\"remaining\":992,\"reset_at\":\"2026-01-15T11:00:00Z\"}}}"
108+ },
109+ "redirectURL": "",
110+ "headersSize": -1,
111+ "bodySize": 2800
112+ },
113+ "cache": {},
114+ "timings": {
115+ "send": 1,
116+ "wait": 150,
117+ "receive": 5
118+ }
119+ },
120+ {
121+ "startedDateTime": "2026-01-15T10:00:03.000Z",
122+ "time": 45,
123+ "request": {
124+ "method": "GET",
125+ "url": "https://api.example.com/v2/teams",
126+ "httpVersion": "HTTP/2.0",
127+ "headers": [],
128+ "queryString": [],
129+ "cookies": [],
130+ "headersSize": -1,
131+ "bodySize": 0
132+ },
133+ "response": {
134+ "status": 200,
135+ "statusText": "OK",
136+ "httpVersion": "HTTP/2.0",
137+ "headers": [],
138+ "cookies": [],
139+ "content": {
140+ "size": 2400,
141+ "mimeType": "application/json",
142+ "text": "{\"data\":[{\"team_id\":\"T-100\",\"name\":\"Core Platform\",\"description\":\"Maintains core infrastructure and shared libraries\",\"visibility\":\"internal\",\"created_at\":\"2024-01-01T00:00:00Z\",\"updated_at\":\"2026-01-10T12:00:00Z\",\"member_count\":8,\"project_count\":5,\"lead\":{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\"},\"members\":[{\"id\":1001,\"username\":\"aturing\",\"role\":\"lead\",\"joined_at\":\"2024-01-01T00:00:00Z\"},{\"id\":1002,\"username\":\"grhopper\",\"role\":\"member\",\"joined_at\":\"2024-06-01T00:00:00Z\"},{\"id\":1003,\"username\":\"dknuth\",\"role\":\"member\",\"joined_at\":\"2024-08-15T00:00:00Z\"}],\"settings\":{\"auto_assign\":true,\"require_reviews\":2,\"branch_protection\":true,\"allowed_merge_methods\":[\"squash\",\"rebase\"]},\"tags\":[\"infrastructure\",\"core\"],\"avatar_url\":\"https://picsum.photos/id/10/200\"},{\"team_id\":\"T-200\",\"name\":\"Security\",\"description\":\"Application security, vulnerability management, and compliance\",\"visibility\":\"private\",\"created_at\":\"2024-03-15T00:00:00Z\",\"updated_at\":\"2026-01-14T09:00:00Z\",\"member_count\":4,\"project_count\":3,\"lead\":{\"id\":1003,\"username\":\"dknuth\",\"avatar_url\":\"https://i.pravatar.cc/150?u=dknuth\"},\"members\":[{\"id\":1003,\"username\":\"dknuth\",\"role\":\"lead\",\"joined_at\":\"2024-03-15T00:00:00Z\"},{\"id\":1001,\"username\":\"aturing\",\"role\":\"member\",\"joined_at\":\"2024-06-01T00:00:00Z\"}],\"settings\":{\"auto_assign\":false,\"require_reviews\":3,\"branch_protection\":true,\"allowed_merge_methods\":[\"squash\"]},\"tags\":[\"security\",\"compliance\"],\"avatar_url\":\"https://picsum.photos/id/20/200\"},{\"team_id\":\"T-300\",\"name\":\"Compiler Team\",\"description\":\"Language design, parser development, and compiler optimization\",\"visibility\":\"public\",\"created_at\":\"2024-05-22T14:30:00Z\",\"updated_at\":\"2025-11-30T10:00:00Z\",\"member_count\":6,\"project_count\":2,\"lead\":{\"id\":1002,\"username\":\"grhopper\",\"avatar_url\":\"https://i.pravatar.cc/150?u=grhopper\"},\"members\":[{\"id\":1002,\"username\":\"grhopper\",\"role\":\"lead\",\"joined_at\":\"2024-05-22T14:30:00Z\"},{\"id\":1004,\"username\":\"babbage\",\"role\":\"member\",\"joined_at\":\"2024-09-01T00:00:00Z\"}],\"settings\":{\"auto_assign\":true,\"require_reviews\":1,\"branch_protection\":false,\"allowed_merge_methods\":[\"merge\",\"squash\",\"rebase\"]},\"tags\":[\"compilers\",\"languages\"],\"avatar_url\":\"https://picsum.photos/id/30/200\"}],\"pagination\":{\"page\":1,\"per_page\":25,\"total\":3,\"total_pages\":1,\"has_next\":false,\"has_prev\":false},\"meta\":{\"request_id\":\"req-abc-004\",\"response_time_ms\":45,\"api_version\":\"2.3.1\",\"rate_limit\":{\"limit\":1000,\"remaining\":991,\"reset_at\":\"2026-01-15T11:00:00Z\"}}}"
143+ },
144+ "redirectURL": "",
145+ "headersSize": -1,
146+ "bodySize": 2400
147+ },
148+ "cache": {},
149+ "timings": {
150+ "send": 1,
151+ "wait": 40,
152+ "receive": 4
153+ }
154+ },
155+ {
156+ "startedDateTime": "2026-01-15T10:00:04.000Z",
157+ "time": 210,
158+ "request": {
159+ "method": "GET",
160+ "url": "https://api.example.com/v2/analytics/dashboard?range=30d",
161+ "httpVersion": "HTTP/2.0",
162+ "headers": [],
163+ "queryString": [
164+ { "name": "range", "value": "30d" }
165+ ],
166+ "cookies": [],
167+ "headersSize": -1,
168+ "bodySize": 0
169+ },
170+ "response": {
171+ "status": 200,
172+ "statusText": "OK",
173+ "httpVersion": "HTTP/2.0",
174+ "headers": [],
175+ "cookies": [],
176+ "content": {
177+ "size": 3600,
178+ "mimeType": "application/json",
179+ "text": "{\"summary\":{\"total_commits\":1247,\"total_prs\":198,\"total_issues_opened\":87,\"total_issues_closed\":72,\"active_contributors\":34,\"new_members\":5,\"uptime_percent\":99.97,\"deploy_count\":41,\"mean_time_to_recovery_hours\":0.8,\"change_failure_rate\":0.024},\"daily_activity\":[{\"date\":\"2026-01-14\",\"commits\":42,\"prs_opened\":8,\"prs_merged\":6,\"issues_opened\":3,\"issues_closed\":2,\"deploys\":2,\"active_users\":18},{\"date\":\"2026-01-13\",\"commits\":38,\"prs_opened\":5,\"prs_merged\":7,\"issues_opened\":4,\"issues_closed\":5,\"deploys\":1,\"active_users\":22},{\"date\":\"2026-01-12\",\"commits\":15,\"prs_opened\":2,\"prs_merged\":1,\"issues_opened\":1,\"issues_closed\":0,\"deploys\":0,\"active_users\":8}],\"top_contributors\":[{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\",\"commits\":312,\"prs\":45,\"reviews\":67,\"lines_added\":28400,\"lines_removed\":12100,\"impact_score\":95.2},{\"id\":1002,\"username\":\"grhopper\",\"avatar_url\":\"https://i.pravatar.cc/150?u=grhopper\",\"commits\":198,\"prs\":32,\"reviews\":54,\"lines_added\":15600,\"lines_removed\":8900,\"impact_score\":87.5},{\"id\":1003,\"username\":\"dknuth\",\"avatar_url\":\"https://i.pravatar.cc/150?u=dknuth\",\"commits\":156,\"prs\":28,\"reviews\":89,\"lines_added\":12000,\"lines_removed\":5400,\"impact_score\":82.1}],\"languages\":{\"Rust\":0.45,\"TypeScript\":0.28,\"Python\":0.15,\"Go\":0.08,\"Shell\":0.04},\"infrastructure\":{\"regions\":[{\"name\":\"us-east-1\",\"status\":\"healthy\",\"instances\":12,\"cpu_avg\":0.34,\"memory_avg\":0.61,\"request_rate\":4520.5,\"error_rate\":0.002,\"p50_latency_ms\":12,\"p95_latency_ms\":45,\"p99_latency_ms\":120},{\"name\":\"eu-west-1\",\"status\":\"healthy\",\"instances\":8,\"cpu_avg\":0.28,\"memory_avg\":0.55,\"request_rate\":2810.3,\"error_rate\":0.001,\"p50_latency_ms\":15,\"p95_latency_ms\":52,\"p99_latency_ms\":145},{\"name\":\"ap-southeast-1\",\"status\":\"degraded\",\"instances\":4,\"cpu_avg\":0.72,\"memory_avg\":0.83,\"request_rate\":1205.8,\"error_rate\":0.015,\"p50_latency_ms\":28,\"p95_latency_ms\":95,\"p99_latency_ms\":310}],\"total_requests_24h\":7234891,\"total_errors_24h\":1842,\"storage_used_gb\":245.7,\"bandwidth_used_gb\":89.3},\"alerts\":[{\"alert_id\":\"ALT-501\",\"severity\":\"warning\",\"title\":\"High CPU in ap-southeast-1\",\"message\":\"Average CPU utilization exceeded 70% threshold for region ap-southeast-1\",\"triggered_at\":\"2026-01-15T08:30:00Z\",\"acknowledged\":true,\"acknowledged_by\":{\"id\":1003,\"username\":\"dknuth\"},\"resolved_at\":null},{\"alert_id\":\"ALT-502\",\"severity\":\"info\",\"title\":\"Deploy completed: enigma-decoder v1.9.2\",\"message\":\"Successfully deployed enigma-decoder v1.9.2 to production (us-east-1, eu-west-1)\",\"triggered_at\":\"2026-01-15T09:15:00Z\",\"acknowledged\":false,\"acknowledged_by\":null,\"resolved_at\":\"2026-01-15T09:15:00Z\"}],\"meta\":{\"request_id\":\"req-abc-005\",\"response_time_ms\":210,\"api_version\":\"2.3.1\",\"rate_limit\":{\"limit\":1000,\"remaining\":990,\"reset_at\":\"2026-01-15T11:00:00Z\"}}}"
180+ },
181+ "redirectURL": "",
182+ "headersSize": -1,
183+ "bodySize": 3600
184+ },
185+ "cache": {},
186+ "timings": {
187+ "send": 1,
188+ "wait": 205,
189+ "receive": 4
190+ }
191+ },
192+ {
193+ "startedDateTime": "2026-01-15T10:00:05.000Z",
194+ "time": 78,
195+ "request": {
196+ "method": "POST",
197+ "url": "https://api.example.com/v2/projects/PRJ-001/deployments",
198+ "httpVersion": "HTTP/2.0",
199+ "headers": [],
200+ "queryString": [],
201+ "cookies": [],
202+ "headersSize": -1,
203+ "bodySize": 256,
204+ "postData": {
205+ "mimeType": "application/json",
206+ "text": "{\"environment\":\"staging\",\"branch\":\"feature/m4-support\",\"commit_sha\":\"b3c4d5e6f7a8\"}"
207+ }
208+ },
209+ "response": {
210+ "status": 201,
211+ "statusText": "Created",
212+ "httpVersion": "HTTP/2.0",
213+ "headers": [],
214+ "cookies": [],
215+ "content": {
216+ "size": 1800,
217+ "mimeType": "application/json",
218+ "text": "{\"deployment_id\":\"DEP-2001\",\"project_id\":\"PRJ-001\",\"environment\":\"staging\",\"status\":\"in_progress\",\"trigger\":\"manual\",\"branch\":\"feature/m4-support\",\"commit\":{\"sha\":\"b3c4d5e6f7a8\",\"message\":\"Add M4 rotor configuration\",\"author\":\"aturing\",\"committed_at\":\"2026-01-15T09:55:00Z\"},\"initiated_by\":{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\"},\"started_at\":\"2026-01-15T10:00:05Z\",\"completed_at\":null,\"duration_seconds\":null,\"steps\":[{\"name\":\"checkout\",\"status\":\"completed\",\"started_at\":\"2026-01-15T10:00:05Z\",\"completed_at\":\"2026-01-15T10:00:08Z\",\"duration_seconds\":3,\"log_url\":\"https://picsum.photos/id/40/100\"},{\"name\":\"build\",\"status\":\"in_progress\",\"started_at\":\"2026-01-15T10:00:08Z\",\"completed_at\":null,\"duration_seconds\":null,\"log_url\":null},{\"name\":\"test\",\"status\":\"pending\",\"started_at\":null,\"completed_at\":null,\"duration_seconds\":null,\"log_url\":null},{\"name\":\"deploy\",\"status\":\"pending\",\"started_at\":null,\"completed_at\":null,\"duration_seconds\":null,\"log_url\":null},{\"name\":\"health_check\",\"status\":\"pending\",\"started_at\":null,\"completed_at\":null,\"duration_seconds\":null,\"log_url\":null}],\"artifacts\":[{\"name\":\"enigma-decoder-staging.tar.gz\",\"size_bytes\":15234567,\"checksum\":\"sha256:a1b2c3d4\",\"download_url\":\"https://picsum.photos/id/50/100\"},{\"name\":\"test-report.html\",\"size_bytes\":45678,\"checksum\":\"sha256:e5f6a7b8\",\"download_url\":\"https://picsum.photos/id/51/100\"}],\"rollback_target\":\"DEP-1998\",\"meta\":{\"request_id\":\"req-abc-006\",\"response_time_ms\":78,\"api_version\":\"2.3.1\",\"rate_limit\":{\"limit\":1000,\"remaining\":989,\"reset_at\":\"2026-01-15T11:00:00Z\"}}}"
219+ },
220+ "redirectURL": "",
221+ "headersSize": -1,
222+ "bodySize": 1800
223+ },
224+ "cache": {},
225+ "timings": {
226+ "send": 2,
227+ "wait": 72,
228+ "receive": 4
229+ }
230+ },
231+ {
232+ "startedDateTime": "2026-01-15T10:00:06.000Z",
233+ "time": 92,
234+ "request": {
235+ "method": "GET",
236+ "url": "https://api.example.com/v2/notifications?unread=true",
237+ "httpVersion": "HTTP/2.0",
238+ "headers": [],
239+ "queryString": [
240+ { "name": "unread", "value": "true" }
241+ ],
242+ "cookies": [],
243+ "headersSize": -1,
244+ "bodySize": 0
245+ },
246+ "response": {
247+ "status": 200,
248+ "statusText": "OK",
249+ "httpVersion": "HTTP/2.0",
250+ "headers": [],
251+ "cookies": [],
252+ "content": {
253+ "size": 2200,
254+ "mimeType": "application/json",
255+ "text": "{\"data\":[{\"notification_id\":\"NTF-3001\",\"type\":\"issue_assigned\",\"read\":false,\"created_at\":\"2026-01-15T09:00:00Z\",\"title\":\"You were assigned to ISS-101\",\"body\":\"grhopper assigned you to \\\"Memory leak in long-running decryption sessions\\\"\",\"action_url\":\"https://example.com/projects/PRJ-001/issues/ISS-101\",\"actor\":{\"id\":1002,\"username\":\"grhopper\",\"avatar_url\":\"https://i.pravatar.cc/150?u=grhopper\"},\"target\":{\"type\":\"issue\",\"id\":\"ISS-101\",\"project_id\":\"PRJ-001\",\"title\":\"Memory leak in long-running decryption sessions\"},\"metadata\":{\"priority\":\"high\",\"old_assignee\":null}},{\"notification_id\":\"NTF-3002\",\"type\":\"pr_review_requested\",\"read\":false,\"created_at\":\"2026-01-14T16:00:00Z\",\"title\":\"Review requested on PR #89\",\"body\":\"dknuth requested your review on \\\"Add rate limiting to API gateway\\\"\",\"action_url\":\"https://example.com/projects/PRJ-003/pulls/89\",\"actor\":{\"id\":1003,\"username\":\"dknuth\",\"avatar_url\":\"https://i.pravatar.cc/150?u=dknuth\"},\"target\":{\"type\":\"pull_request\",\"id\":\"PR-89\",\"project_id\":\"PRJ-003\",\"title\":\"Add rate limiting to API gateway\"},\"metadata\":{\"priority\":null,\"old_assignee\":null}},{\"notification_id\":\"NTF-3003\",\"type\":\"deploy_completed\",\"read\":false,\"created_at\":\"2026-01-14T12:00:00Z\",\"title\":\"Deployment successful\",\"body\":\"enigma-decoder v1.9.1 deployed to production\",\"action_url\":\"https://example.com/projects/PRJ-001/deployments/DEP-1998\",\"actor\":{\"id\":1001,\"username\":\"aturing\",\"avatar_url\":\"https://i.pravatar.cc/150?u=aturing\"},\"target\":{\"type\":\"deployment\",\"id\":\"DEP-1998\",\"project_id\":\"PRJ-001\",\"title\":\"v1.9.1 production release\"},\"metadata\":{\"priority\":null,\"old_assignee\":null}},{\"notification_id\":\"NTF-3004\",\"type\":\"mention\",\"read\":false,\"created_at\":\"2026-01-13T20:00:00Z\",\"title\":\"You were mentioned in ISS-107\",\"body\":\"grhopper mentioned you: \\\"@aturing what's the timeline for the M4 rotor config?\\\"\",\"action_url\":\"https://example.com/projects/PRJ-001/issues/ISS-107#comment-42\",\"actor\":{\"id\":1002,\"username\":\"grhopper\",\"avatar_url\":\"https://i.pravatar.cc/150?u=grhopper\"},\"target\":{\"type\":\"issue\",\"id\":\"ISS-107\",\"project_id\":\"PRJ-001\",\"title\":\"Support for Naval Enigma M4 variant\"},\"metadata\":{\"priority\":\"high\",\"old_assignee\":null}}],\"unread_count\":4,\"pagination\":{\"page\":1,\"per_page\":25,\"total\":4,\"total_pages\":1,\"has_next\":false,\"has_prev\":false},\"meta\":{\"request_id\":\"req-abc-007\",\"response_time_ms\":92,\"api_version\":\"2.3.1\",\"rate_limit\":{\"limit\":1000,\"remaining\":988,\"reset_at\":\"2026-01-15T11:00:00Z\"}}}"
256+ },
257+ "redirectURL": "",
258+ "headersSize": -1,
259+ "bodySize": 2200
260+ },
261+ "cache": {},
262+ "timings": {
263+ "send": 1,
264+ "wait": 88,
265+ "receive": 3
266+ }
267+ },
268+ {
269+ "startedDateTime": "2026-01-15T10:00:07.000Z",
270+ "time": 35,
271+ "request": {
272+ "method": "GET",
273+ "url": "https://api.example.com/v2/audit-log?limit=5",
274+ "httpVersion": "HTTP/2.0",
275+ "headers": [],
276+ "queryString": [
277+ { "name": "limit", "value": "5" }
278+ ],
279+ "cookies": [],
280+ "headersSize": -1,
281+ "bodySize": 0
282+ },
283+ "response": {
284+ "status": 200,
285+ "statusText": "OK",
286+ "httpVersion": "HTTP/2.0",
287+ "headers": [],
288+ "cookies": [],
289+ "content": {
290+ "size": 1600,
291+ "mimeType": "application/json",
292+ "text": "{\"data\":[{\"event_id\":\"AUD-9001\",\"action\":\"deployment.create\",\"actor\":{\"id\":1001,\"username\":\"aturing\",\"ip\":\"192.168.1.100\"},\"resource\":{\"type\":\"deployment\",\"id\":\"DEP-2001\",\"name\":\"enigma-decoder staging\"},\"changes\":null,\"timestamp\":\"2026-01-15T10:00:05Z\",\"success\":true},{\"event_id\":\"AUD-9000\",\"action\":\"team.member.add\",\"actor\":{\"id\":1002,\"username\":\"grhopper\",\"ip\":\"10.0.0.42\"},\"resource\":{\"type\":\"team\",\"id\":\"T-100\",\"name\":\"Core Platform\"},\"changes\":{\"before\":{\"member_count\":7},\"after\":{\"member_count\":8,\"added_user\":\"babbage\"}},\"timestamp\":\"2026-01-14T15:00:00Z\",\"success\":true},{\"event_id\":\"AUD-8999\",\"action\":\"project.settings.update\",\"actor\":{\"id\":1001,\"username\":\"aturing\",\"ip\":\"192.168.1.100\"},\"resource\":{\"type\":\"project\",\"id\":\"PRJ-001\",\"name\":\"Enigma Decoder\"},\"changes\":{\"before\":{\"visibility\":\"public\"},\"after\":{\"visibility\":\"private\"}},\"timestamp\":\"2026-01-14T12:00:00Z\",\"success\":true},{\"event_id\":\"AUD-8998\",\"action\":\"user.login\",\"actor\":{\"id\":1001,\"username\":\"aturing\",\"ip\":\"192.168.1.100\"},\"resource\":{\"type\":\"session\",\"id\":\"SES-7701\",\"name\":null},\"changes\":null,\"timestamp\":\"2026-01-14T08:00:00Z\",\"success\":true},{\"event_id\":\"AUD-8997\",\"action\":\"user.login.failed\",\"actor\":{\"id\":1004,\"username\":\"babbage\",\"ip\":\"203.0.113.50\"},\"resource\":{\"type\":\"session\",\"id\":null,\"name\":null},\"changes\":null,\"timestamp\":\"2026-01-13T23:45:00Z\",\"success\":false}],\"pagination\":{\"page\":1,\"per_page\":5,\"total\":892,\"total_pages\":179,\"has_next\":true,\"has_prev\":false},\"meta\":{\"request_id\":\"req-abc-008\",\"response_time_ms\":35,\"api_version\":\"2.3.1\",\"rate_limit\":{\"limit\":1000,\"remaining\":987,\"reset_at\":\"2026-01-15T11:00:00Z\"}}}"
293+ },
294+ "redirectURL": "",
295+ "headersSize": -1,
296+ "bodySize": 1600
297+ },
298+ "cache": {},
299+ "timings": {
300+ "send": 1,
301+ "wait": 31,
302+ "receive": 3
303+ }
304+ }
305+ ]
306+ }
307+}