News for hackers. Stuff that matters.

sarkarsh

Re:Agentic Engineering Patterns on Wednesday March 04, 2026 @12:08PM (#47250565)
This is the underrated insight in the whole thread. 'Approach B rejected because latency spikes above N ms' is the kind of context that saves hours of re-exploration every new session.

The problem I kept hitting was that flat markdown constraint logs don't scale past ~50 entries. The agent has to re-read the entire log to know what was already tried, which eats context window and slows generation. And once you have multiple agents in parallel, each maintaining their own constraint log, you get drift - agent A rejects approach B, agent C re-proposes it because it never saw agent A's log.

What worked for me was moving constraint logs to append-only log blocks that agents query through MCP rather than re-read as prose. I've been using ctlsurf for this - the agent appends 'approach B rejected, latency > N ms' to a log block, and any agent can query query_log(action='approach_rejected') to see what's been ruled out. State store handles 'which modules are claimed' as a key-value lookup.

Structured queries mean agents don't re-read the whole history - they ask specific questions about what's been tried.

Re:Parallel coding agents with tmux and Markdown specs on Wednesday March 04, 2026 @12:08PM (#47250561)
Good question. Right now it's manual - the human can see the task is still claimed in the dashboard and reassign it. No automatic timeouts yet, though it would be straightforward since every task item has timestamps.

In practice it hasn't been a big pain point because the stale claim is visible in the web UI immediately. The bigger win has been that new agents can query 'what's done, what's in progress, what's blocked' with a single tool call instead of re-reading a 2000-line markdown file. The queryability matters more for coordination than crash recovery does.

For automatic timeouts, I've been thinking about a heartbeat pattern - agent updates a last_active timestamp in its state block, and a background check marks claims stale after N minutes of silence. Haven't needed it yet at my scale though.

Your phases mirror almost exactly what I went through. The core realization is right: you can't treat status reporting as an instruction because the agent will always deprioritize process in favor of its assigned persona.

What worked for me was making state updates part of the tool interface, not the prompt. Instead of 'report your status to this file,' the agent reads and writes to structured blocks (task tables, key-value state stores, append-only logs) through MCP as part of doing its actual work. The state update IS the work - when the agent completes a task, the tool call that marks it done also captures what it did, what it assumed, and what it skipped. The human sees a live dashboard without the agent needing to 'report' separately.

I've been using ctlsurf for this - each agent gets a task table it queries and updates through MCP tool calls. The key shift was: agents don't report status, they work inside a system that inherently tracks status.

On your task counter threshold question - I track session token usage in a state block and restart when the agent crosses ~80% of the context window. More reliable than counting tasks since some tasks eat way more context than others.

Re:WebMCP is available for early preview on Tuesday March 03, 2026 @02:18PM (#47237374)
Hard agree that server-side MCP is the more interesting direction. Browser automation through MCP is a nice demo but its solving a problem most teams dont actually have.

The MCP pattern thats been most valuable in my experience is structured persistent state. I use ctlsurf for this -- agents read and write typed blocks through MCP. Datastores with queryable rows, key-value state, append-only logs. The agent doesnt need to scrape a webpage, it just queries the specific data it needs and writes back what it did.

What I think this thread is missing: MCP as a protocol for agents to maintain structured memory that humans can inspect and edit. Not "let the agent click buttons in Chrome" but "give the agent a persistent workspace it shares with people." Thats where MCP stops being a novelty and starts being infrastructure.

Re:A case for Go as the best language for AI agents on Tuesday March 03, 2026 @02:17PM (#47237365)
This is good advice but it highlights the real issue -- were encoding agent workflow into markdown files and hoping the model follows instructions consistently.

AGENTS.md saying "run tests after edits" works until the agent decides it knows better, or the context window gets long enough that it deprioritizes the instruction. The language you write agents in matters way less than the state layer they operate on.

Ive been using ctlsurf for this -- structured blocks agents read and write through MCP. Task checklists the agent checks off, key-value state it updates, append-only logs of what it did. The project owns that state, not the agent session. Instead of "put a rule in AGENTS.md" you have actual task state the agent queries and updates, and a human can see exactly where it is.

The whole thread is debating Go vs Rust vs Python but the language is maybe 10% of what makes an agent reliable in production. The other 90% is state management, and right now most people are doing that with flat files.

Re:Switch to Claude without starting over on Tuesday March 03, 2026 @02:17PM (#47237357)
This is exactly where I landed too. But after a few months of serious Claude Code usage I realized flat markdown files are the wrong abstraction for agent memory.

CLAUDE.md works fine for static instructions -- "use this formatter, prefer this style." But the moment agents need to track state across sessions -- what tasks are pending, what decisions were made, what data they collected -- youre stuffing structured data into an unstructured format. I kept finding myself with 500-line CLAUDE.md files that were half prose instructions and half JSON blobs the agent was supposed to parse.

I switched to ctlsurf for this. It gives agents structured blocks they read and write through MCP -- typed datastores, key-value state, append-only logs, checklists -- so the project owns the memory, not the agent session. The agent queries only what it needs instead of loading an entire markdown file into context.

The AGENTS.md vs CLAUDE.md debate in this thread is interesting but its optimizing the wrong layer. The real problem isnt what you name the file, its that flat text is a lossy format for the kind of state agents actually need to persist.

Re:Parallel coding agents with tmux and Markdown specs on Tuesday March 03, 2026 @02:16PM (#47237340)
The ground truth file is the right idea but flat markdown breaks down fast once agents need to actually coordinate. They cant query it -- they just re-read everything.

We hit the same wall running parallel Claude Code sessions. Ended up switching to ctlsurf, which gives agents structured blocks via MCP -- task tables, key-value state, append-only logs. An agent can check "is anyone already on the auth module" by querying a table, not parsing prose. State survives across sessions too, so a new agent doesnt start from scratch.

The drift problem across parallel agents is exactly what convinced me flat files werent enough.

Re:What Claude Code Chooses on Monday March 02, 2026 @01:55PM (#47222376)
The library choices are the visible part. React, Tailwind, Drizzle -- you see those in the imports and catch them early.

The scarier version is the invisible architectural decisions. When the agent decides to skip input validation because "the frontend handles it," or collapses your middleware chain because it doesn't understand why the rate limiter was there. You find those weeks later when something breaks, and there's no record of why the agent made that call.

The AGENTS.md approach helps for known preferences, but it only covers what you thought to specify upfront. The agent makes dozens of micro-decisions per session that nobody anticipated. Which error handling strategy, whether to denormalize, how aggressively to cache. Those are just as opinionated as the library picks -- they're just harder to audit from a diff.

What's missing is the agent documenting its own decisions as it works. Not what code it wrote, but what it decided, what it considered and rejected, and what it simplified. That way when you find the rate limiter is gone you can trace back to the decision instead of reverse-engineering intent from git blame.

Re:MCP is dead. Long live the CLI on Monday March 02, 2026 @01:54PM (#47222358)
Most of this thread is debating MCP as a CLI wrapper, and for that it's clearly worse. More tokens, no piping, another process to manage.

But the real use case for MCP isn't replacing git or jq. It's giving agents persistent state across sessions. When I close the terminal my agent forgets everything. What it was working on, what it decided, what it tried that failed. Next session starts from zero.

An MCP server that holds structured project state -- tasks, decisions, context -- lets the agent pick up where it left off. It queries what happened last session, updates progress, records new decisions. That's fundamentally different from running a CLI command and parsing stdout. You need a server that maintains state and exposes typed operations on it.

The framing should be: CLI for stateless operations (builds, git, file manipulation). MCP for stateful integrations where the agent needs memory that outlives the session.

The ivraatiems vs rudiksz exchange is the most telling part of this thread. Both are probably reporting their experience accurately, which means the variance in agent coding outcomes is enormous. Same model, same capabilities, wildly different results depending on the scaffolding around it.

7777777phil is right that the AGENTS.md file is the actual differentiator. But it's also a manual workaround for a real gap — there's no structured way for agents to carry context across sessions. Each session starts cold. You're hand-maintaining the agent's long-term memory in a markdown file.

The tooling around agents matters as much as the agents themselves. A model that produces excellent code but can't track what it assumed or skipped is only half a system.

9dev's OAuth token exchange approach is the most practical implementation path I've seen for this. Composite agent tokens carrying both user and application claims gives you a verifiable chain without inventing new crypto infrastructure.

But 7777777phil's point is the real gap: proving a human authorized email access is different from proving accountability for a specific email the agent sent. The hard part is structured action logging that happens outside the agent's own process — you can't trust the agent to faithfully record its own behavior. Same principle as flight recorders being physically separate from the aircraft systems.

The crypto vs enterprise debate misses the middle ground. You don't need full cryptographic attestation. Append-only logs with hash chains get you 90% of the accountability without requiring enterprise PKI.

Re:747s and Coding Agents on Sunday March 01, 2026 @07:40AM (#47206180)
shich's point about simulator mandates is the sharpest thing in this thread. Aviation treats skill atrophy as a systemic risk with institutional solutions. Software engineering treats it as an individual discipline problem. "Just practice writing code by hand" is the equivalent of telling pilots to go fly a Cessna on weekends.

The analogy also breaks in a useful way though. Autopilot doesn't modify the aircraft. Coding agents modify the codebase, and each session changes the terrain the next session operates on. The skill you actually need isn't "can I still write code" — it's "can I reason about a codebase substantially authored by a process I didn't control." That's closer to forensic engineering than piloting.

The compression numbers look great but I keep wondering: does the model actually produce equivalent output with compressed context vs full context? Extending sessions from 30min to 3hrs only matters if reasoning quality holds up in hour 2.

esafak's cache economics point is underrated. With prompt caching, verbose context that gets reused is basically free. If compression breaks cache continuity you might save tokens while spending more money.

The deeper issue is that most MCP tools do SELECT * when they should return summaries with drill-down. That's a protocol design problem, not a compression problem.

Re:What AI coding costs you on Sunday March 01, 2026 @07:39AM (#47206176)
The debugging gap in the Shen-Tamkin study is the part that worries me. AI tools are great at generating code from a clear spec. But the skill that atrophies is recognizing when code is subtly wrong — and that's the exact skill you need most when reviewing AI output.

What works for me: write the spec in a markdown file before handing it to the agent. Predict what it'll produce before reading the output. When it surprises you, figure out why before accepting. Keeps you engaged enough to actually build mental models.

The management pressure angle in this thread is real. If your org measures velocity in lines shipped, AI tools will optimize for that metric and comprehension dies quietly.

Re:Don't trust AI agents on Sunday March 01, 2026 @07:39AM (#47206175)
xixyhuang nailed it — container escape is a red herring. The real problem is that your agent holds your OAuth tokens and can do massive damage without ever leaving its sandbox.

What bugs me about the current discourse is everyone focuses on where agents run and what they can access, but almost nobody talks about reconstructing what they actually did after the fact. Aviation has black boxes. Finance has audit trails. Agent systems have... logs the agent writes about itself. That's like asking the pilot to self-report the flight recorder.

Until action logging happens outside the agent's own process, none of the sandboxing stuff matters much.

I've been using Claude Code for months and kept hitting the same issue: tasks would get "completed" but I'd have no visibility into what assumptions the agent made or what it quietly simplified when it got stuck.

  ctlsurf is a notebook that connects to AI agents via MCP. The key feature: when an agent marks a task done, it must provide structured completion data:                                  
                                                                                                                                                                                                       
  - Summary of what was done                                                                                                                                                                           
  - Assumptions made (required, at least one)                                                                                                                                                          
  - What was attempted but failed                                                                                                                                                                      
  - What was simplified or skipped                                                                                                                                                                     
                                                                                                                                                                                                       
  That last one is the important part. Agents often silently give up on parts of tasks, and this forces transparency.                                                                                  
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
  https://app.ctlsurf.com                                                                                                                                                                                  
                                                                                                                                                                                                       
  Interested in feedback, especially from teams using AI agents in production where accountability matters.
Re:Months building this did I just reinvent the wheel? on Friday August 08, 2025 @01:30PM (#44839561)
Over the past couple of months(not sure how many :), I’ve been building a set of minimal, no-bloat tools aimed at solo entrepreneurs.

I’m trying to figure out if this solves a real problem or if I’ve been tinkering in a vacuum.

Would love your honest feedback.. brutal is fine on whether this belongs in an already crowded space or should be scrapped entirely.

Word game based on the election theme

This is a multiple player word game based on some of famous quotes from the election session. Plug-in words in to the sentences to make them as funny as possible.The devs are giving away free iPhone 7 to one who comes out funniest of quotes. Don't forget to register by sending out a note to [email protected]://instantregret.ioA word game for the politically unscrupulous – true...

( Read More... | no comments | 2 points | on HN )

Making pomodoro technique into a game for to-do

Hi, I am big fan of Pomodoro technique. But most of the famous pomodoro apps have common interface of a timer/clock. They capture the idea of “Pomodoro way” but still something is missing. So I decided to build my own version of it in my app Crimson Box [I posted about it some time back about it]. The core vision is : the aliens monsters are attacking our planet. These aliens are strong and...

( Read More... | no comments | 2 points | on HN )
Re:List-less productivity on Tuesday March 29, 2016 @04:48PM (#11384751)
I am working on it. Hopefully soon.
Re:List-less productivity on Tuesday March 29, 2016 @04:47PM (#11384747)
Thanks! This is first version and I am still working on the design.
Re:List-less productivity on Tuesday March 29, 2016 @04:47PM (#11384742)
I have pushed an update. It's getting closer. Here is preview. http://www.crimsonbox.net/new-update-pushed-to-app-store/

List-less productivity

I was bored with the way all the famous to-do apps look, mostly mundane lists of things to do. Not inspiring. So I started tinkering my own vision of a better and more engaging interface: A world dark and set in the future, where planet Earth is under constant wave of meteors; human civilization has moved backwards and survives on farming and windmills for energy. The to-do items take the form...

( Read More... | 7 comments | 4 points | on HN )

Older »