HackerTrans
TopNewTrendsCommentsPastAskShowJobs

tacoda

no profile record

Submissions

This One's Not AI

blog.tacoda.dev
3 points·by tacoda·18 hari yang lalu·2 comments

What Breaks When You Skip the Harness

blog.tacoda.dev
1 points·by tacoda·19 hari yang lalu·0 comments

Harness Engineering

leanpub.com
1 points·by tacoda·20 hari yang lalu·0 comments

Tools Are Harness Too

blog.tacoda.dev
3 points·by tacoda·20 hari yang lalu·0 comments

I Still Live in the Terminal

blog.tacoda.dev
23 points·by tacoda·21 hari yang lalu·28 comments

Sensors: The Other Half of the Harness

blog.tacoda.dev
3 points·by tacoda·22 hari yang lalu·0 comments

The Accidental Framework

blog.tacoda.dev
1 points·by tacoda·23 hari yang lalu·0 comments

The Harness Is Also Onboarding

blog.tacoda.dev
2 points·by tacoda·24 hari yang lalu·0 comments

Keystone 2.0 – A Worthy 2.0

blog.tacoda.dev
3 points·by tacoda·25 hari yang lalu·0 comments

Versioning the Harness Itself

blog.tacoda.dev
3 points·by tacoda·25 hari yang lalu·0 comments

The Daemon in the Middle

blog.tacoda.dev
3 points·by tacoda·26 hari yang lalu·0 comments

The Org Harness

pub.towardsai.net
3 points·by tacoda·27 hari yang lalu·0 comments

Intent-Driven Delivery

blog.tacoda.dev
2 points·by tacoda·27 hari yang lalu·0 comments

Ports and Adapters for Prose

blog.tacoda.dev
2 points·by tacoda·28 hari yang lalu·0 comments

Scoping Rules: Global, Project, Path-Glob

medium.com
3 points·by tacoda·29 hari yang lalu·0 comments

From a Single File to an MCP Server: Six Rewrites of My Own Harness

pub.towardsai.net
4 points·by tacoda·30 hari yang lalu·0 comments

Post-Mortems for Agent Runs

blog.tacoda.dev
1 points·by tacoda·bulan lalu·0 comments

Lisp's Influence on Ruby

blog.tacoda.dev
258 points·by tacoda·bulan lalu·86 comments

Explicit Seams as Agent Affordances

blog.tacoda.dev
2 points·by tacoda·bulan lalu·0 comments

Keystone: The First Agent Harness Framework

medium.com
4 points·by tacoda·bulan lalu·0 comments

comments

tacoda
·18 hari yang lalu·discuss
Noted. This one is actually in response to feedback I received here.
tacoda
·20 hari yang lalu·discuss
That’s fair. I usually have a separate alias file in my config. But it’s really a convenience for me.
tacoda
·21 hari yang lalu·discuss
I agree with this. If it’s text, I do it in the terminal, but I still use GUI for Chrome or Zoom. I think the discoverability depends on the product. On the other hand, in the terminal, it’s a help flag or a man page.
tacoda
·21 hari yang lalu·discuss
Both actually. It is incorrect. It’s two words, but I also have an alias that makes it two letters. Thanks for pointing this out.
tacoda
·27 hari yang lalu·discuss
Technically when you write in the domain, you are effectively making your own Lisp and then using it. It’s one of the amazing things that macros can do.
tacoda
·27 hari yang lalu·discuss
I would call these different dialects of Lisp. The data doesn’t have to be a function. It’s illustrative. The patterns of application still work. What’s the difference if delimiters are different or if you are calling JVM libraries? The high-level ideas are still right there. Consider JavaScript. It is definitely not a Lisp, but if you model it as Lisp in C’s clothes, then all of a sudden IIFEs make total sense. The point is that it’s a helpful mental model for languages other than Lisp.
tacoda
·2 bulan yang lalu·discuss
An untested codebase doesn't just lack tests. It actively teaches every contributor, human or agent, that tests aren't part of the work.

Coding agents pattern-match on what they find. If the convention is no tests, that's what they'll write. And the longer it goes on, the more the codebase is shaped in ways that make testing harder, which entrenches the pattern further. New post on why testing is no longer optional in the new world of agentic coding, how to start when you have zero tests, and what to do when the code resists being tested at all.
tacoda
·2 bulan yang lalu·discuss
[dead]
tacoda
·2 bulan yang lalu·discuss
[dead]
tacoda
·2 bulan yang lalu·discuss
I built a tool. It scaffolds a Claude Code agent harness into any project.

A harness is the system that lets an AI coding agent produce correct, high-quality code consistently. It has four parts:

Guidance: CLAUDE.md and rules in .claude/rules/ that shape what the agent writes. Guardrails: automated checks (lint, tests, build) the agent runs. Flywheel: review feedback updates a rule file. The next conversation starts smarter. Workflows: agents, commands, and skills under .claude/ that turn institutional knowledge into runnable procedures.

sellier ships a generic, slim version of all four. You run it once, then run a Claude command to fill in the placeholders.
tacoda
·2 bulan yang lalu·discuss
If you let an AI agent loose on a non-trivial codebase, two things happen. First, it gets a lot done. Second, it gets a lot done in the style of whatever it last read. Drop it into a file with anemic models and inline authorization checks, and the next thing it writes will be an anemic model with an inline authorization check. Agents are mirrors with momentum.

This post is about how we stopped fighting that and started using it. It covers two iterations of a system we call the harness — the set of files, rules, and workflows that constrain what an agent produces in our Laravel + React monorepo. The first iteration was a scattering of CLAUDE.md files in subdirectories. The second is a .claude/ folder with rules, agents, commands, and skills. The second is dramatically better, and the reasons are worth writing down.

The audience here is engineers who are picking up agentic coding and want a concrete pattern they can copy.
tacoda
·3 bulan yang lalu·discuss
You can use AI coding agents on real production codebases and get predictable, high-quality results if you treat the agent like a junior engineer who needs guardrails, not a magic wand.

Note this series is half-published and updates will be coming over the next few days.