Urgent.News

What's breaking now, across thousands of outlets.

Tech

I Built a Hindsight Agent That Remembers Failed Fixes

Production incidents are rarely difficult because nobody knows how to restart a service. They are difficult because engineers have to remember what happened the last time. A similar incident may have happened weeks or months ago. Someone may have tried a restart, a rollback, or a configuration change. One approach worked. Another looked reasonable but failed. That experience is usually scattered…

Production incidents are rarely difficult due to a lack of knowledge about restarting a service. The challenge lies in remembering what transpired during similar incidents in the past. Engineers may have tried various fixes like a restart, rollback, or configuration change, with some proving effective while others appeared reasonable but ultimately failed.

This valuable experience is often scattered across logs, tickets, documentation, or within someone's memory. To address this issue, I sought to create an incident-response agent that could leverage past experiences directly. This led to the development of OpsMind, an AI-powered incident-response system designed to investigate live failures, retrieve pertinent historical information using Hindsight, recommend remediation actions, verify the outcomes independently, and store the results for future incidents.

What makes OpsMind unique is not its ability to read logs but its capacity to remember what happened after taking a specific action. Traditional stateless incident agents can analyze the ongoing incident, such as a gateway returning HTTP 502 errors. They can inspect service health, read logs, and review the current deployment configuration.

This enables them to answer the immediate question: "What is happening right now?" However, incident response often requires an additional question: "What happened during the last occurrence of this issue?" Historical context can significantly influence the subsequent course of action. For instance, a previous incident might have shown that restarting a backend did not resolve the problem, whereas modifying the gateway configuration successfully did.

Without the ability to retain this historical context, the agent would start the investigation anew, lacking crucial information from prior incidents.

To build a realistic incident environment, I created a small local setup featuring two actual services. The first service is a payment backend, while the second is an API gateway responsible for forwarding requests to the payment backend. The backend exposes health and payment endpoints and records timestamped logs. The gateway, on the other hand, reads its upstream target from a live configuration file and forwards actual HTTP requests to the backend.

For the purpose of testing the incident scenario, I intentionally altered the upstream configuration from the healthy backend port to an invalid local port. This induced a real failure: the gateway returned HTTP 502 Bad Gateway, while the backend responded with HTTP 200 OK. The logs indicated a connection refused error, and the configuration file had been modified to point to an invalid port.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

I Stopped Feeding My Agent More Context and Gave It Memory

A sales agent can have six months of customer history in front of it and still fail the simplest question: “What actually matters for my next call?” The problem is not necessarily the amount of…

  • Sales agent struggles with basic questions due to information overload.
  • Persistent memory helps sales agent remember past interactions and relevant details.
  • Separating memory from model reasoning simplifies system architecture.

Building an ARM64 Android Development Environment with TERNUX + ADT

I’ve been working on two open-source projects around a practical question: Can an ARM64 Android device become a useful Linux and Android development machine without relying on an x86_64 PC?

  • TERNUX provides Linux workspace layer for ARM64 Android development
  • ADT offers Android development layer with Native ARM64 SDK tools
  • Architecture validated on real Android hardware for seamless workflow

Compress PDF on Ingest and Report Size Savings in 2026 (Signed Invoices)

Compress an invoice PDF before applying its digital signature, then record both byte counts, their exact difference, and content hashes beside the archive object.

  • Compress PDF invoices before digital signing.
  • Record original and compressed file byte counts.
  • Treat compression as state transition with receipt.

Gray-Scale Degradation of Borderline Signals: From Binary Execution to Dynamic Risk Budgeting

Gray-Scale Degradation of Borderline Signals: From Binary Execution to Dynamic Risk Budgeting Introduction: The Illusion of Perfect AI Signals In the world of algorithmic trading, there is a…

  • Gray-Scale Degradation Mechanism introduced to handle marginal AI signals
  • Three zones defined: High Conviction, Marginal Conviction, and Noise
  • Marginal Conviction signals (30 ≤ score ≤ 70) receive scaled trade execution

Bastardica

“A foundry for bastard web fonts.” The default is a version of Times New Roman but every 7th glyph is replaced with one from Arial, but you can dial up whatever bastardization you want.

  • Bastardica is a unique font with Google font integration
  • Ligature contextual substitution enabled by default
  • Users can mix three or more fonts with specific intervals

More from Tuesday 29 September →