Command Center

D6

Agent Readout

Category Observability
Permission Level 0
Activity 0
Incidents 0
Approvals 0

Permission Matrix

read-only default

Allowed Tools

prometheus_query loki_query tempo_trace_read telemetry_report_create

Approval Required

change_alert_rule change_dashboard

Blocked Actions

print_raw_secret_values

Agent Workbench

OBS-2-TELEMETRY · Observability · Level 0
IDLE snapshot
Agent State IDLE OBS-2-TELEMETRY · Observability
Telemetry LIMITED 4 sources · 4s ago
Droid Shop INCIDENT 65 health score
Droid Ops HEALTHY 4m ago
Signals 1 1 failed checks · 8 deployments
Handoffs 8 8 actionable proposals

Source Health Overview

LIMITED
1 ACTIVE
Limited
3
Stale
0
Missing
0
Latest
4s ago
Droid Shop · Local Failing
Limited · 60d ago
Find
0
Deploy
0
Hand
0
Deployments
No recent deployments
No deployment activity recorded.
Inspect
Droid Shop · Railway Failing
Active · 4s ago
Find
1
Deploy
9
Hand
2
Deployments
Latest: redis-cache healthy · SUCCESS
Inspect
Droid Ops · Local Unknown
Limited · no evidence
Find
0
Deploy
0
Hand
0
Deployments
No recent deployments
No deployment activity recorded.
Inspect
Droid Ops · Railway Healthy
Limited · 18s ago
Find
0
Deploy
0
Hand
0
Deployments
No recent deployments
No deployment activity recorded.
Inspect
Droid Shop · Local Failing Evidence Stale · 60d ago
8 checks show signal 1
Stale · 60d ago
No recent deployments
No deployment activity recorded.
Droid Shop · Railway Failing Evidence Fresh 4s ago
8 checks show signal 3
Fresh 4s ago
Latest: redis-cache healthy · SUCCESS
Droid Ops · Local Unknown Evidence No recent evidence
1 checks show signal 1
No recent evidence
No recent deployments
No deployment activity recorded.
Droid Ops · Railway Healthy Evidence Fresh 18s ago
8 checks clear
Fresh 18s ago
No recent deployments
No deployment activity recorded.

Recent Check Events

8 stored
23:40:24 Droid Shop Railway Dev railway_log_content_worker-news-broadcast-audio · FAIL 23:40:24 Droid Shop Railway Dev railway_service_logs_worker-news-broadcast-audio · PASS 23:40:24 Droid Shop Railway Dev railway_log_content_worker-rss · PASS 23:40:24 Droid Shop Railway Dev railway_service_logs_worker-rss · PASS 23:40:24 Droid Shop Railway Dev railway_log_content_redis-cache · PASS 23:40:24 Droid Shop Railway Dev railway_service_logs_redis-cache · PASS

OBS-2 Topology

9 Railway services · 4 sources

Railway Service Map

9 service cards
web-django SUCCESS
Deploy
18083360
Logs
81 lines
Errors
0
Checked
2026-08-20 23:40:23
2026-08-20T18:08:50.653Z
api-llm SUCCESS
Deploy
1e33d2c8
Logs
8 lines
Errors
0
Checked
2026-08-20 23:40:23
2026-08-20T18:09:15.753Z
worker-voice SUCCESS
Deploy
337db521
Logs
1 lines
Errors
0
Checked
2026-08-20 23:40:23
2026-08-20T18:09:49.948Z
migrate SUCCESS
Deploy
390e7398
Logs
32 lines
Errors
0
Checked
2026-08-20 23:40:23
2026-08-20T18:10:31.721Z
worker-rss SUCCESS
Deploy
e0d9b9d7
Logs
58 lines
Errors
0
Checked
2026-08-20 23:40:23
2026-08-20T23:30:41.814Z
redis-cache SUCCESS
Deploy
0828c74a
Logs
0 lines
Errors
0
Checked
2026-08-20 23:40:23
2026-03-02T00:01:38.307Z
pgvector-db SUCCESS
Deploy
0c631bbd
Logs
81 lines
Errors
0
Checked
2026-08-20 23:40:23
2026-05-22T20:34:10.994Z
worker-news-broadcast SUCCESS
Deploy
7483a878
Logs
81 lines
Errors
0
Checked
2026-08-20 23:40:23
2026-08-20T23:30:41.001Z
worker-news-broadcast-audio SUCCESS
Deploy
d6607a98
Logs
81 lines
Errors
2
Checked
2026-08-20 23:40:23
2026-08-20T23:35:21.628Z

Selected Evidence Inspector

8 checks · 0 snapshots

Checks

8 recent
  1. Droid Shop Railway Dev · railway_log_content_worker-news-broadcast-audio FAIL · Detected 2 active app error indicator(s) in the latest Railway log sample for worker-news-broadcast-audio. RAILWAY · droid-shop-railway
    View log details
    [{'line': '2026-08-20T23:05:27.478454455Z 2026-08-20 23:05:21,269 ERROR __main__ Broadcast audio render cycle failed error_type=OpenAITTSError error=TTS API error 429: { "error": { "message": "You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.", "type": "insufficient_quota", "param": null, "code": "credit_balance_exhausted" } }', 'context': ['2026-08-20T23:05:16.533494901Z Starting Container', '2026-08-20T23:05:27.478454455Z 2026-08-20 23:05:21,269 ERROR __main__ Broadcast audio render cycle failed error_type=OpenAITTSError error=TTS API error 429: { "error": { "message": "You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.", "type": "insufficient_quota", "param": null, "code": "credit_balance_exhausted" } }', '2026-08-20T23:05:27.478459877Z 2026-08-20 23:05:21,269 WARNING __main__ Broadcast audio worker retry scheduled attempt=2/4 retry_in_seconds=5.0'], 'patterns': ['insufficient_quota', 'error', 'rate_limit'], 'timestamp': '2026-08-20T23:05:27.478454+00:00', 'categories': ['app_error', 'external_api_quota', 'external_api_rate_limit']}, {'line': '2026-08-20T23:05:28.471049851Z 2026-08-20 23:05:28,106 ERROR __main__ Broadcast audio render cycle failed error_type=OpenAITTSError error=TTS API error 429: { "error": { "message": "You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.", "type": "insufficient_quota", "param": null, "code": "credit_balance_exhausted" } }', 'context': ['2026-08-20T23:05:27.478459877Z 2026-08-20 23:05:21,269 WARNING __main__ Broadcast audio worker retry scheduled attempt=2/4 retry_in_seconds=5.0', '2026-08-20T23:05:28.471049851Z 2026-08-20 23:05:28,106 ERROR __main__ Broadcast audio render cycle failed error_type=OpenAITTSError error=TTS API error 429: { "error": { "message": "You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.", "type": "insufficient_quota", "param": null, "code": "credit_balance_exhausted" } }', '2026-08-20T23:05:28.471058518Z 2026-08-20 23:05:28,106 WARNING __main__ Broadcast audio worker retry scheduled attempt=3/4 retry_in_seconds=10.0'], 'patterns': ['insufficient_quota', 'error', 'rate_limit'], 'timestamp': '2026-08-20T23:05:28.471049+00:00', 'categories': ['app_error', 'external_api_quota', 'external_api_rate_limit']}]
  2. Droid Shop Railway Dev · railway_service_logs_worker-news-broadcast-audio PASS · Collected last 81 Railway API log line(s) for worker-news-broadcast-audio. RAILWAY · droid-shop-railway
    View log details
    ['2026-08-20T20:30:31.501187077Z Starting Container', '2026-08-20T20:30:42.250034604Z 2026-08-20 20:30:33,111 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T20:35:23.405790003Z Starting Container', '2026-08-20T20:35:24.390426684Z 2026-08-20 20:35:24,088 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T20:40:02.633611799Z Starting Container', '2026-08-20T20:40:05.204463930Z 2026-08-20 20:40:04,143 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T20:45:13.674008086Z Starting Container', '2026-08-20T20:45:18.086134273Z 2026-08-20 20:45:15,230 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T20:50:35.038334178Z Starting Container', '2026-08-20T20:50:39.850585042Z 2026-08-20 20:50:36,520 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T20:55:02.669627688Z Starting Container', '2026-08-20T20:55:12.671896919Z 2026-08-20 20:55:03,840 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:01:02.028858095Z Starting Container', '2026-08-20T21:01:07.017778595Z 2026-08-20 21:01:03,335 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:05:17.140614281Z Starting Container', '2026-08-20T21:05:19.976059224Z 2026-08-20 21:05:17,931 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:10:24.472045110Z Starting Container', '2026-08-20T21:10:34.376421135Z 2026-08-20 21:10:25,492 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:15:23.853880632Z Starting Container', '2026-08-20T21:15:27.881824017Z 2026-08-20 21:15:25,214 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:20:11.960496830Z Starting Container', '2026-08-20T21:20:19.817739425Z 2026-08-20 21:20:13,035 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:25:01.471690288Z Starting Container', '2026-08-20T21:25:12.466442007Z 2026-08-20 21:25:02,729 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:30:04.457755401Z Starting Container', '2026-08-20T21:30:06.331952641Z 2026-08-20 21:30:05,531 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:35:06.688439895Z Starting Container', '2026-08-20T21:35:09.293958273Z 2026-08-20 21:35:07,527 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:40:04.282324492Z Starting Container', '2026-08-20T21:40:11.052315196Z 2026-08-20 21:40:05,367 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:45:17.353963088Z Starting Container', '2026-08-20T21:45:25.470766534Z 2026-08-20 21:45:18,902 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:50:28.159451035Z Starting Container', '2026-08-20T21:50:31.125341601Z 2026-08-20 21:50:29,715 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T21:55:05.731601596Z Starting Container', '2026-08-20T21:55:13.896326193Z 2026-08-20 21:55:06,677 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:00:23.851575268Z Starting Container', '2026-08-20T22:00:28.811184109Z 2026-08-20 22:00:24,740 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:05:16.800042068Z Starting Container', '2026-08-20T22:05:24.840157656Z 2026-08-20 22:05:17,776 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:10:07.646636817Z Starting Container', '2026-08-20T22:10:18.394368548Z 2026-08-20 22:10:09,033 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:15:15.141097254Z Starting Container', '2026-08-20T22:15:23.613054803Z 2026-08-20 22:15:15,896 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:20:14.855319556Z Starting Container', '2026-08-20T22:20:17.488865636Z 2026-08-20 22:20:15,711 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:25:19.513156919Z Starting Container', '2026-08-20T22:25:21.345602209Z 2026-08-20 22:25:20,236 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:30:05.126911166Z Starting Container', '2026-08-20T22:30:14.132453650Z 2026-08-20 22:30:06,226 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:35:30.051936133Z Starting Container', '2026-08-20T22:35:36.985307040Z 2026-08-20 22:35:31,281 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:40:05.886691220Z Starting Container', '2026-08-20T22:40:08.646477422Z 2026-08-20 22:40:05,675 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:45:31.753848382Z Starting Container', '2026-08-20T22:45:41.271816242Z 2026-08-20 22:45:32,587 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:50:12.920342132Z Starting Container', '2026-08-20T22:50:14.852960368Z 2026-08-20 22:50:14,414 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T22:55:06.632609838Z Starting Container', '2026-08-20T22:55:09.811639100Z 2026-08-20 22:55:07,669 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:00:04.522811674Z Starting Container', '2026-08-20T23:00:14.378002697Z 2026-08-20 23:00:05,536 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:05:16.533494901Z Starting Container', '2026-08-20T23:05:27.478454455Z 2026-08-20 23:05:21,269 ERROR __main__ Broadcast audio render cycle failed error_type=OpenAITTSError error=TTS API error 429: { "error": { "message": "You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.", "type": "insufficient_quota", "param": null, "code": "credit_balance_exhausted" } }', '2026-08-20T23:05:27.478459877Z 2026-08-20 23:05:21,269 WARNING __main__ Broadcast audio worker retry scheduled attempt=2/4 retry_in_seconds=5.0', '2026-08-20T23:05:28.471049851Z 2026-08-20 23:05:28,106 ERROR __main__ Broadcast audio render cycle failed error_type=OpenAITTSError error=TTS API error 429: { "error": { "message": "You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.", "type": "insufficient_quota", "param": null, "code": "credit_balance_exhausted" } }', '2026-08-20T23:05:28.471058518Z 2026-08-20 23:05:28,106 WARNING __main__ Broadcast audio worker retry scheduled attempt=3/4 retry_in_seconds=10.0', '2026-08-20T23:05:38.150573320Z 2026-08-20 23:05:38,114 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:10:24.886521684Z Starting Container', '2026-08-20T23:10:33.003096359Z 2026-08-20 23:10:26,600 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:15:22.497825905Z Starting Container', '2026-08-20T23:15:24.668921663Z 2026-08-20 23:15:23,516 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:20:02.616646911Z Starting Container', '2026-08-20T23:20:08.568921439Z 2026-08-20 23:20:03,411 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:25:19.182086627Z Starting Container', '2026-08-20T23:25:22.677088096Z 2026-08-20 23:25:20,188 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:30:19.123654878Z Starting Container', '2026-08-20T23:30:26.186235016Z 2026-08-20 23:30:20,382 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:35:18.494555158Z Starting Container', '2026-08-20T23:35:19.957579689Z 2026-08-20 23:35:19,882 INFO __main__ No eligible broadcast found for audio rendering', '2026-08-20T23:40:21.108111997Z Starting Container']
  3. Droid Shop Railway Dev · railway_log_content_worker-rss PASS · No error indicators found in the latest Railway log sample for worker-rss. RAILWAY · droid-shop-railway
  4. Droid Shop Railway Dev · railway_service_logs_worker-rss PASS · Collected last 58 Railway API log line(s) for worker-rss. RAILWAY · droid-shop-railway
    View log details
    ['2026-08-20T18:30:08.363571042Z Starting Container', '2026-08-20T18:30:16.464327139Z 2026-08-20 18:30:16,065 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T18:30:24.361362697Z 2026-08-20 18:30:24,360 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T18:30:24.390728892Z 2026-08-20 18:30:24,387 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T18:30:26.171706866Z 2026-08-20 18:30:26,170 INFO __main__ Ingest cycle complete feeds=25 fetched=277 inserted=164 updated=51 deduped=51 trimmed=164 failed=3', '2026-08-20T19:02:44.975984478Z Starting Container', '2026-08-20T19:02:55.272332559Z 2026-08-20 19:02:51,951 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T19:02:56.719232939Z 2026-08-20 19:02:56,710 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T19:02:56.747238856Z 2026-08-20 19:02:56,745 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T19:02:57.764575386Z 2026-08-20 19:02:57,763 INFO __main__ Ingest cycle complete feeds=25 fetched=323 inserted=207 updated=54 deduped=54 trimmed=207 failed=3', '2026-08-20T19:32:10.277828299Z Starting Container', '2026-08-20T19:32:25.669951595Z 2026-08-20 19:32:16,229 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T19:32:25.669957785Z 2026-08-20 19:32:20,875 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T19:32:25.669962765Z 2026-08-20 19:32:20,919 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T19:32:25.669968275Z 2026-08-20 19:32:21,954 INFO __main__ Ingest cycle complete feeds=25 fetched=287 inserted=165 updated=60 deduped=60 trimmed=165 failed=3', '2026-08-20T20:02:40.805965995Z Starting Container', '2026-08-20T20:02:46.360844687Z 2026-08-20 20:02:45,397 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T20:02:49.883845338Z 2026-08-20 20:02:49,874 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T20:02:49.909760979Z 2026-08-20 20:02:49,899 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T20:02:50.861818614Z 2026-08-20 20:02:50,860 INFO __main__ Ingest cycle complete feeds=25 fetched=262 inserted=161 updated=41 deduped=41 trimmed=161 failed=3', '2026-08-20T20:30:36.992258650Z Starting Container', '2026-08-20T20:30:49.759197830Z 2026-08-20 20:30:42,512 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', "2026-08-20T20:30:50.997423019Z 2026-08-20 20:30:50,993 WARNING services.news_ingest Feed ingest failed for slug=robohub-humanoids: HTTPSConnectionPool(host='robohub.org', port=443): Read timed out. (read timeout=8.0)", '2026-08-20T20:30:54.868337177Z 2026-08-20 20:30:54,767 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T20:30:54.868339887Z 2026-08-20 20:30:54,796 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T20:30:55.958933155Z 2026-08-20 20:30:55,927 INFO __main__ Ingest cycle complete feeds=25 fetched=272 inserted=163 updated=47 deduped=47 trimmed=163 failed=4', '2026-08-20T21:03:00.088041517Z Starting Container', "2026-08-20T21:03:15.851049160Z 2026-08-20 21:03:10,930 WARNING services.news_ingest Feed ingest failed for slug=microsoft-research: HTTPSConnectionPool(host='www.microsoft.com', port=443): Read timed out. (read timeout=8.0)", '2026-08-20T21:03:15.851060170Z 2026-08-20 21:03:12,108 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T21:03:16.601056071Z 2026-08-20 21:03:16,594 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T21:03:16.626681966Z 2026-08-20 21:03:16,620 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T21:03:17.726496157Z 2026-08-20 21:03:17,721 INFO __main__ Ingest cycle complete feeds=25 fetched=272 inserted=164 updated=46 deduped=46 trimmed=164 failed=4', '2026-08-20T21:32:21.936476051Z Starting Container', '2026-08-20T21:32:38.363787762Z 2026-08-20 21:32:32,574 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T21:32:38.363791372Z 2026-08-20 21:32:36,611 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T21:32:38.363795322Z 2026-08-20 21:32:36,639 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', "2026-08-20T21:32:44.793702830Z 2026-08-20 21:32:44,792 WARNING services.news_ingest Feed ingest failed for slug=unite-ai-robotics: HTTPSConnectionPool(host='www.unite.ai', port=443): Read timed out. (read timeout=8.0)", '2026-08-20T21:32:45.187500469Z 2026-08-20 21:32:45,182 INFO __main__ Ingest cycle complete feeds=25 fetched=262 inserted=181 updated=21 deduped=21 trimmed=181 failed=4', '2026-08-20T22:02:50.499582079Z Starting Container', '2026-08-20T22:03:05.133901183Z 2026-08-20 22:02:57,435 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T22:03:05.133904133Z 2026-08-20 22:03:01,439 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T22:03:05.133907063Z 2026-08-20 22:03:01,463 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T22:03:05.133910393Z 2026-08-20 22:03:02,346 INFO __main__ Ingest cycle complete feeds=25 fetched=287 inserted=169 updated=56 deduped=56 trimmed=169 failed=3', '2026-08-20T22:32:10.174290118Z Starting Container', '2026-08-20T22:32:24.861343179Z 2026-08-20 22:32:15,731 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T22:32:24.861348819Z 2026-08-20 22:32:20,059 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T22:32:24.861351519Z 2026-08-20 22:32:20,096 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T22:32:24.861354059Z 2026-08-20 22:32:21,039 INFO __main__ Ingest cycle complete feeds=25 fetched=272 inserted=169 updated=41 deduped=41 trimmed=169 failed=3', '2026-08-20T23:00:47.635948592Z Starting Container', '2026-08-20T23:00:54.431335468Z 2026-08-20 23:00:53,694 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T23:00:58.257729128Z 2026-08-20 23:00:58,253 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T23:00:58.438354493Z 2026-08-20 23:00:58,281 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T23:00:59.500910657Z 2026-08-20 23:00:59,286 INFO __main__ Ingest cycle complete feeds=25 fetched=262 inserted=164 updated=36 deduped=36 trimmed=164 failed=3', '2026-08-20T23:30:29.261497044Z Starting Container', '2026-08-20T23:30:38.863745982Z 2026-08-20 23:30:34,273 WARNING services.news_ingest Feed ingest failed for slug=openai-blog: 403 Client Error: Forbidden for url: https://openai.com/blog/rss', '2026-08-20T23:30:39.311960660Z 2026-08-20 23:30:39,307 WARNING services.news_ingest Feed ingest failed for slug=the-rundown-ai: 404 Client Error: Not Found for url: https://www.therundown.ai/rss', '2026-08-20T23:30:39.336482364Z 2026-08-20 23:30:39,333 WARNING services.news_ingest Feed ingest failed for slug=theverge-ai: 404 Client Error: Not Found for url: https://www.theverge.com/ai/rss/index.xml', '2026-08-20T23:30:40.280658422Z 2026-08-20 23:30:40,262 INFO __main__ Ingest cycle complete feeds=25 fetched=252 inserted=155 updated=37 deduped=37 trimmed=155 failed=3']
  5. Droid Shop Railway Dev · railway_log_content_redis-cache PASS · No error indicators found in the latest Railway log sample for redis-cache. RAILWAY · droid-shop-railway
  6. Droid Shop Railway Dev · railway_service_logs_redis-cache PASS · Collected last 0 Railway API log line(s) for redis-cache. RAILWAY · droid-shop-railway
  7. Droid Shop Railway Dev · railway_log_content_migrate PASS · No error indicators found in the latest Railway log sample for migrate. RAILWAY · droid-shop-railway
  8. Droid Shop Railway Dev · railway_service_logs_migrate PASS · Collected last 32 Railway API log line(s) for migrate. RAILWAY · droid-shop-railway
    View log details
    ['2026-08-20T18:10:01.025954108Z Starting Container', '2026-08-20T18:10:01.402681189Z skip predeploy migrations', '2026-08-20T18:10:03.043415697Z Stopping Container', '2026-08-20T18:10:07.280307309Z Postgres probe host=pgvector-db.railway.internal resolved=10.168.132.95 port=5432', '2026-08-20T18:10:07.280310289Z Postgres TCP probe ok', '2026-08-20T18:10:07.750667278Z Starting Container', '2026-08-20T18:10:07.969779675Z Operations to perform:', '2026-08-20T18:10:07.969783125Z Apply all migrations: accounts, admin, auth, chat, commerce, contenttypes, fleet, marketplace, missions, operations, repair, sessions, shop, world', '2026-08-20T18:10:07.999806734Z Running migrations:', '2026-08-20T18:10:08.090650040Z Applying missions.0006_missioncontentapiaudit... OK', "2026-08-20T18:10:09.775632429Z Superuser 'admin' already exists. No changes made.", '2026-08-20T18:10:10.600406766Z INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.', '2026-08-20T18:10:10.600410476Z INFO  [alembic.runtime.migration] Will assume transactional DDL.', '2026-08-20T18:10:12.956658183Z seed: created 0, updated 0, skipped 307', '2026-08-20T18:10:12.956661353Z Droids: 31', '2026-08-20T18:10:12.957766218Z KnowledgeDocument: 105', '2026-08-20T18:10:12.959285176Z Parts: 276', '2026-08-20T18:10:12.960581758Z PartImageAsset: 276', '2026-08-20T18:10:12.960587008Z Guide knowledge: created=0, updated=0, skipped=43, deleted=0', "2026-08-20T18:10:13.277431503Z Demo owned droid cards for 'rocketj': created 0, updated 4, removed 0.", "2026-08-20T18:10:14.733320383Z Demo owned droid cards for 'rocketj': created 0, updated 4, removed 0.", '2026-08-20T18:10:16.353057994Z Frontier Railway review provisioned user=frontier-review created=False droids=0 missions=0 credits=0 facility_exists=False', '2026-08-20T18:10:16.353060734Z Railway Frontier review ready for frontier-review: user_created=False; droids_created=0; missions_created=0; credits_granted=0 GC; facility_exists=False.', '2026-08-20T18:10:16.353063224Z Shared Frontier Operations demo fixture remains enabled for idempotent releases.', '2026-08-20T18:10:16.579120731Z Skipping ingest_docs: SKIP_INGEST_DOCS=1', '2026-08-20T18:10:17.517380685Z ingest: created 0, updated 0, skipped 43', '2026-08-20T18:10:17.517384465Z KnowledgeDocument: 43', '2026-08-20T18:10:17.517388225Z KnowledgeChunk: 45', '2026-08-20T18:10:17.517392305Z Chunks written this run: 0', '2026-08-20T18:10:18.896089417Z Guide knowledge source are current (43 documents).', '2026-08-20T18:10:20.287408352Z Guide knowledge source and embeddings are current (43 documents).', '2026-08-20T18:10:20.444253620Z Migrate job complete']

Deployments

8 recent
  1. worker-news-broadcast-audio · HEALTHY SUCCESS Droid Shop Railway Dev · d6607a98-ea06-45d3-affd-386cfeddfd1c
  2. worker-rss · HEALTHY SUCCESS Droid Shop Railway Dev · e0d9b9d7-a753-4099-a0c4-d6702985ca18
  3. redis-cache · HEALTHY SUCCESS Droid Shop Railway Dev · 0828c74a-ea8e-4d33-8158-08e0736db851
  4. migrate · HEALTHY SUCCESS Droid Shop Railway Dev · 390e7398-18d5-4087-b004-832cf06b6f79
  5. web-django · HEALTHY SUCCESS Droid Shop Railway Dev · 18083360-2a37-4717-b173-e087b2a166ea
  6. worker-voice · HEALTHY SUCCESS Droid Shop Railway Dev · 337db521-eb44-4141-87eb-2539ffe1933e
  7. worker-news-broadcast · HEALTHY SUCCESS Droid Shop Railway Dev · 7483a878-5051-47c7-9f6a-d68f4e0cceef
  8. pgvector-db · HEALTHY SUCCESS Droid Shop Railway Dev · 0c631bbd-ea17-497e-a31b-d999c192a1a3

Snapshots

0 collector snapshots
  1. No collector snapshots stored. OBS-2 will list snapshot evidence here after collector posts.

Agent Handoffs

8 action proposals
2026-08-20 23:05:42 · OPS-9-SRE Restart Railway worker-news-broadcast-audio service

OPS-9 detected active exception indicators in the latest Railway logs for worker-news-broadcast-audio. The safest first remediation is an approval-gated redeploy/restart of only that service after the operator reviews the bounded log evidence.

Droid Shop Railway Dev · RAILWAY Open OPS-9
2026-07-02 08:58:37 · OPS-9-SRE Acknowledge recovered Railway log errors for worker-news-broadcast

OPS-9 found 1 retained historical error indicator(s) for worker-news-broadcast, but newer recovery evidence exists after the last error. Last error: 2026-07-02T08:57:30.611108+00:00. Latest recovery: 2026-07-02T08:58:30.559935+00:00. Approval records operator acceptance that this is no longer an active incident and should be treated as recovered historical evidence.

Droid Shop Railway Dev · RAILWAY Open OPS-9
2026-06-29 21:46:46 · SEC-4-SENTINEL Record SEC-4 audit baseline

SEC-4 needs durable audit records before posture can be trusted.

Open SEC-4
2026-06-26 04:37:11 · SEC-4-SENTINEL Configure Railway project context

SEC-4 cannot fully assess Railway credential scope without project IDs, environments, and service configuration for both projects.

Open SEC-4
2026-06-25 22:50:23 · SEC-4-SENTINEL Configure project-scoped Railway tokens

SEC-4 requires project-scoped Railway token presence for Droid Shop and Droid Ops.

Open SEC-4
2026-06-25 22:50:23 · SEC-4-SENTINEL Harden Droid Ops self-security

SEC-4 found Droid Ops control-plane settings that are unsafe or incomplete for cloud operation.

Open SEC-4
2026-06-25 18:57:41 · SEC-4-SENTINEL Start Droid Shop local collector

SEC-4 found local Droid Shop collector evidence missing, stale, or offline.

Open SEC-4
2026-06-25 18:57:41 · SEC-4-SENTINEL Enable local collector ingestion

SEC-4 cannot trust local Droid Shop evidence until authenticated collector snapshots are accepted.

Open SEC-4

OBS-2 Refresh Log

8 telemetry events
  1. monitor_tick_recorded OPS-9 monitor found 1 failing check(s) for Droid Shop Railway Dev. Update deduped findings, keep remediation approval-gated, and present evidence to the operator.
  2. monitor_tick_recorded OPS-9 monitor passed 4 check(s) for Droid Ops Railway. No remediation required. Continue scheduled monitoring.
  3. monitor_tick_recorded OPS-9 monitor found 1 failing check(s) for Droid Shop Railway Dev. Update deduped findings, keep remediation approval-gated, and present evidence to the operator.
  4. monitor_tick_recorded OPS-9 monitor passed 4 check(s) for Droid Ops Railway. No remediation required. Continue scheduled monitoring.
  5. monitor_tick_recorded OPS-9 monitor found 1 failing check(s) for Droid Shop Railway Dev. Update deduped findings, keep remediation approval-gated, and present evidence to the operator.
  6. monitor_tick_recorded OPS-9 monitor passed 4 check(s) for Droid Ops Railway. No remediation required. Continue scheduled monitoring.
  7. monitor_tick_recorded OPS-9 monitor found 1 failing check(s) for Droid Shop Railway Dev. Update deduped findings, keep remediation approval-gated, and present evidence to the operator.
  8. monitor_tick_recorded OPS-9 monitor passed 4 check(s) for Droid Ops Railway. No remediation required. Continue scheduled monitoring.