Skip to content

Instantly share code, notes, and snippets.

View joctaTorres's full-sized avatar

Joctã Torres joctaTorres

View GitHub Profile
@joctaTorres
joctaTorres / eval-loop-harness-deep-dive.md
Created April 30, 2026 00:02
eval-loop Harness: Technical Deep Dive — Autonomous AI Agent Loop from Product Intent to Production Code

eval-loop Harness: How an Autonomous AI Agent Loop Delivers Production Code from Product Intent

The Shift from Code Authorship to Intent Authorship

Software engineering is entering a phase transition. The traditional loop—human reads spec, human writes code, human runs tests, human fixes bugs—is being replaced by something structurally different: an autonomous agent loop where the human authors intent and reviews outcomes, while an orchestrated system of AI agents handles decomposition, implementation, verification, and retry. eval-loop is a working implementation of this paradigm.

This is not a copilot. It is not autocomplete. It is a Spec-Driven Development (SDD) pipeline engine that takes a product proposal—outcomes and success criteria written in product language—and compiles it into dependency-ordered engineering changes, implements each one through fresh Claude Agent SDK sessions, and runs a closed assess-fix-verify loop until every change passes both deterministic tests and LLM-based evalua

@joctaTorres
joctaTorres / builder.py
Last active July 19, 2024 22:47
Generic Python dataclass builder
from functools import partial
from dataclasses import dataclass, fields
from typing import TypeVar
class Builder:
"""
Generic Dataclass Builder
Parameters:
public static final Map<String, String> PAGINATION_FORM_FIELDS = new HashMap<String, String>() {
{
put("javax.faces.partial.ajax", "true");
put("javax.faces.source", "dgResultadoJurisprudencia2");
put("javax.faces.partial.execute", "dgResultadoJurisprudencia2");
put("javax.faces.partial.render", "dgResultadoJurisprudencia2");
put("dgResultadoJurisprudencia2", "dgResultadoJurisprudencia2");
put("ddgResultadoJurisprudencia2_pagination", "true");
put("frmResultado2", "frmResultado2");
put("dgResultadoJurisprudencia2_rows", "5");