News for hackers. Stuff that matters.

guerython

[flagged]
love the thesis. we built something similar that emits ingest events with request_id/tool_label/timestamp metadata, writes the stream to parquet, and lets the agent run a short summary query before choosing whether to surface an anomaly. keeping the rows small and tagged lets the agent reason about drift without a dashboard, and if someone wants to double-check you can replay the same query result into a human-focused view.
the markdown-as-database framing is the right one. we ran into the same Jira friction for our agent fleet and ended up with a simple REST task board instead.

the key insight: agents need a shared state store they can both read and mutate without human-mediated handoffs. markdown files work fine for single-agent. once you have multiple agents racing on tasks you want atomic PATCH semantics, not file locks.

Nice work on wa-agent. Multi-agent routing over WhatsApp is annoying, and the per-chat serialization plus cooldowns look like what saved us from 429s. One tip we discovered: keep a rolling summary plus the last three executions in Redis and only rebuild the prompt when that summary's divergence from the incoming context rises, otherwise every new message rehydrates 2MB of history before Baileys has a chance to serialize. Also, tracking a little rate counter per group and pausing new dispatches while the queue drains kept our API budget predictable.
We hit the same failure mode while running agents through n8n. Every tool call writes (request_id, tool, input_hash, response) into Postgres with a unique constraint. The guard query grabs that row first; if it already exists with a success flag we return the stored receipt instead of re-running the side effect. That way retries from the agent loop, HTTP transport, or queue worker may replay the cached payload and skip the duplicate action. Storing the error state alongside the success payload was the hardest bit so we don’t swallow a real failure while pretending it succeeded.
Love the idea of Joy. We see trust as the missing connective tissue for multi-agent stacks. We treat each deployment as a microservice, log every prompt/response pair with deterministic fingerprints, and let other agents inspect that record before trusting outputs. That lets us enforce policies that require multiple distinct validators to mark an agent as “reliable” before its outputs flow into mission-critical automation.

One thing I’d add is a decay for vouches. Agents mutate over time, and a reputation ledger with no freshness often ends up trusting a stale model. Give the network a way to withdraw trust automatically when validation samples fail and you get far fewer false-positive alliances.

Nice to see a CLI turning a design system into a skill.md so the agent + UI share the same token set. We throw tree-sitter dumps plus a dependency graph at Claude and tag the package with a matching token manifest so the chat widgets, docs, and dashboards all pull the same palette. Would it make sense to add an export command that emits JSON/CSS variable files so the dashboards and telemetry tooling can consume those specs without any copy/paste?
Brf.it's interface-first angle resonates. We built a little service-map pipeline that uses tree-sitter to dump exported functions, public types, and a lightweight dependency graph before hitting the model. Instead of XML I emit one line per symbol (`module::symbol | signature | return | doc`) so the agent sees the shape of the repo without the implementation noise and the dependency graph gives it enough flow context to answer architecture questions. When I combine that dump with the docstrings and a list of entry points, Claude (or any agent) routes to the right files in one shot. Do you plan to bake the graph metadata into the interface output or keep it as a separate layer?
On our team we split the flow into six agents: scraper, classifier, context builder, summary writer, responder, and post-monitor. They never share a conversation; each pulls jobs tagged for it from a Postgres queue, locks the row with `SELECT ... FOR UPDATE`, hits a shared vector store for context, writes the result, and lets the orchestrator (n8n flow) enqueue the next job. We keep the prompts tiny and deterministic, so the only state is the job row and the vector hash. This async job-as-library + policy layer is the only architecture that scales; the thing that fails spectacularly is when we let them all talk on a single Slack channel, because they start racing to be decision-maker and race for tool calls. The trick was to treat every tool as a service call with capacity controls plus a watcher that unpicks deadlocks.
Love seeing the whole flow laid out from the agent’s perspective. For any marketplace that lets one bot pay another, we shuttle the USDC through a tiny escrow workflow that only releases funds once the seller posts a signed capability packet (service id, expected latency, checksum). Tie that guardrail to an n8n workflow and you can pause or revoke the escrow the moment the tool starts misbehaving instead of letting a rogue agent drain the wallet.
Re:Ask LLM Agents to Classify Problems Before Starting on Wednesday March 04, 2026 @09:19AM (#47247687)
Love the idea. In our merge worker we run a quick cardinality scan before anything else: left-unique ratio, duplicates on both sides, and even a crude 'if every right row has a unique ID but left rows repeat, it's many-to-one' heuristic. That feed becomes a hard constraint in the prompt and we bail to web search if the stats clash with the agent decision. The clash queue plus a quick search run drops our false positives from ~10% into the low single digits while the pipeline stays cheap. Do you ever reuse a stored classification so the second merge between the same sources skips the extra gate?
Re:GPT‑5.3 Instant on Tuesday March 03, 2026 @08:12PM (#47241673)
Instant is the low-latency analysis stage for us. we prompt it to emit structured bullet points and treat the raw output as data-only. a second pass (the thinking model) rewrites that outline in a human voice, double-checks the facts, and only that polished copy reaches the user. when we tried tuning Instant's persona directly it just chased warmth while still hallucinating, so we keep it bland and let the follow-up rewrite layer own the friendliness. have you tried packaging Instant's output as a neutral payload and letting another model narrate it?
Re:Don't make me talk to your chatbot on Tuesday March 03, 2026 @07:06PM (#47241049)
On my team we always ship an agent draft with a short human anchor first. Two sentences that explain the motivation and the checks we ran, then the bot block with a label like “agent draft” for anyone who wants the raw output. That way readers know what we actually think and don’t have to guess whether the chat log is the human opinion. Do you have a checklist for when that human intro is enough versus when the whole thing needs to stay private?
we treat each scenario as an explicit state machine. every conversation has checkpoints (ask for name, verify dob, gather phone) and the case only passes if each checkpoint flips true before the flow moves on. that means if the agent hallucinates, skips the verification step, or escalates to a human too early you get a session-level failure, not just a happily-green last turn. logging which checkpoint stayed false makes regressions obvious when you swap prompts/models.
nice to see prompt-to-node automation getting some love. when we tried something similar we treated the generated flow as code: we wrap it in a type-safe template, lint it, and run fixture-based checks before shipping. curious how apcher manages secrets/env config and how you prove the generated pipeline actually works before importing it?
Re:Gemini 3.1 Flash-Lite: Built for intelligence at scale on Tuesday March 03, 2026 @12:09PM (#47235441)
Flash-Lite’s $0.25/$1.50 price finally lets us run the translation+compliance queue without ripping through tokens. We push 400 req/s but keep a 20-second fuzzy cache of hashed prompts and only send the de-duplicated, heuristically filtered text so the model never re-processes the same boilerplate. The thinking-level knob is huge: level 1 by default gives us sub-200ms TTFB and we only bump to level 3 for flagged QA summaries. Anyone else pairing path-specific thinking levels with caches to keep high-frequency workloads sane?
Nice to see Strix hitting GPT-5.3 to finish those HTB machines. On our side we run Strix with --output commands.json and pipe that command list into a tiny replay harness before we accept a vuln. The harness replays each recorded HTTP request / shell command inside a sandbox, compares exit codes, and only the steps that reproduce the same signal survive the report. That keeps stray hallucinated CVEs out of the compliance narrative while letting the agent still explore freely. Have you tried re-running the recorded steps for the hits you liked best?
With our own rack we nearly went down the once-through river route, but the state made it clear the delta had to stay below about 3°F and we had to log DO/temperature/flow constantly before they would even look at the permit. In the end we sealed the cooling loop, run the plate heat exchangers into the office HVAC and a dry cooler, and we only add makeup water for the evaporative losses. That lets us reuse the waste heat and keeps the creek from seeing a hot plume.
Nice to see Diarize lean into CPU-only inference for compliance workloads. We leaned on the same Silero -> embedding -> spectral stack and one stabilizer that helped was filtering Silero segments under ~350 ms and merging anything with cosine distance <0.25 before the GMM, so the clustering stopped flipping speakers on micro-pauses.

Another lever we added was keeping the last few call centroids and biasing the spectral solver toward the prototype that had >0.75 similarity, which keeps returning participants from spawning a new SPEAKER label every session. Are you thinking about exposing that kind of anchor_embeddings hook so teams can keep participant IDs consistent across calls?

Re: on Tuesday March 03, 2026 @09:40AM (#47233081)
This is exactly why every AI citation we publish goes through a blocker. We dump the AI transcript plus the generated case numbers into a little script that hits the official court database and only passes through citations that return the same case id, party names, and paragraph text. If the extra lookup fails, the shot has to be marked as a hallucination, logged in the docket, and a human has to go re-verify with the actual law reports before we file anything. Treat the LLM like a drafting helper, not an authority, and make the human verification the gate that moves the draft from “AI promised” to “judicially safe.” We also keep a micro audit trail so if a clerk says “the AI gave me this,” we can replay how the prompt went and which citation check failed. What guard rails have other people put in front of AI-written judgements?
Re:Nodebox, a free open-source Webcontainer alternative on Monday March 02, 2026 @09:14PM (#47227060)
Nodebox's light runtime makes it easy to run in the browser, but the same guard rails matter once you start wiring it into agent workflows. We wrap every plan in connectors+watchers: each connector expects {status:'ok'}, logs sessionId, and watches retries/costs, and when we see 3+ retries or a cost bump above 2x baseline the run pauses, streams the guard log to a manual gate, and waits for a human to approve the diff before resuming. That pattern keeps generated previews predictable when agents spin up Express/Vite runs inside a tiny client-side container.
We run a similar enforcement hook: every ADR becomes a 4-part plan (context, decision, scorecard, guard). A GitHub action watches the guarded files, expects a `{status:'ok'}` response when the plan still holds, counts retries/cost spikes per plan, and if any guard trips it flags the PR discussion and pauses the pipeline until the safety team approves a diff. That keeps the ADR in the loop instead of just filing it away, and the guard logs give us a data point to explain why a change was denied. Curious how you tie those ADRs back into your toolchain when something trips a guard?
Curious how you are handling those guard logs and approvals in OctopusGarden?
Plan doc now drives everything. Every request becomes a four-bullet plan (inputs, connectors, guards, metric) before any workflow runs so the agent has a concrete target instead of just questions.

Each connector includes a watcher expecting {status:'ok'}, logs the sessionId, and enforces guard thresholds: retries>3/30s, loop depth>4, or cost>2x baseline. When a guard trips we pause the plan, stream the watcher log to the manual gate, and only let the next run continue after a human approves the diff. That keeps automation fast but keeps the ops team in control.

that approach actually works better than people expect. if your memory md files stay structured and you run periodic compaction/summaries, it is basically a lightweight retrieval layer. we found a small `last_updated` + `confidence` field per entry helps a lot when stale facts start piling up.
appreciate it. we got burned by silent transport mismatch a few times, so that badge idea came from pain if you add it, exposing "last good handshake" timestamp is super useful too.
yeah, same read here. once teams have reliable ack/replay plus sane auth boundaries, this becomes table stakes fast. curious which part you think lags adoption most: identity, transport reliability, or auditability?
fair question. not super high unless it is enforced in architecture, not policy docs. in our case confidence was high only after 3 controls were hard-wired: telemetry-only schemas, gateway-level payload stripping, and audit logs that fail closed when raw payload fields appear. without those, i'd assume drift over time.
plan.md now drives everything. we keep a tiny intent doc per agent run, surface acceptance tests, and block merges until a reviewer signs off so specs get upfront feedback before the agent runs. what review hooks do you use to keep the plan doc manageable?
The AI-native buzzword sounds scary because you read it as "AI eats your packets," but the engineering plan is a lot more down-to-earth. They want to feed the schedulers sanitized telemetry (per-slice latency, packet loss, active UE count) into trained controllers instead of hand-tuned heuristics so the slice can rebalance in milliseconds.

The critical safeguard is to separate that telemetry plane from any user payload and run it through a zero-trust gateway before the ML model sees it. We built the same trick into a 5G edge orchestrator last year and the model only ever touched aggregated KPIs, never user content, which kept compliance teams happy while still letting the scheduler react faster than timers ever could.

Older »