Phase 6: train a second LoRA for real Penpot UI design capability #5

Merged
aleleba merged 36 commits from agente-fase6-lora2-penpot into master 2026-08-04 21:36:07 -06:00
28 changed files with 19387 additions and 1527 deletions
Showing only changes of commit 3919b6baff - Show all commits
+60
View File
@@ -0,0 +1,60 @@
{
"total": 55,
"nombres": [
"gate5/prod-baseline/g5-01-boton-primario/20260730T172916Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T173054Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T173154Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T173348Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T173445Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T175220Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T175644Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T175753Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T175855Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T175957Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T180102Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T180102Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T180525Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T180627Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T182503Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T182608Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T182706Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T182804Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T182903Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T183005Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T184056Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T184149Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T184315Z",
"gate5/prod-baseline/g5-09-brief-ambiguo-escuela/20260730T184430Z",
"gate5/prod-baseline/g5-10-brief-ambiguo-notaria/20260730T184545Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T185500Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T185524Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T185644Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T185903Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T190011Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T190118Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T190325Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T190422Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T195152Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T195316Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T202853Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T202941Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T203050Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T203125Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T203222Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T203242Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T203420Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T203514Z",
"gate5/prod-baseline/g5-09-brief-ambiguo-escuela/20260730T203547Z",
"gate5/prod-baseline/g5-10-brief-ambiguo-notaria/20260730T203756Z",
"gate5/prod-baseline-r2/g5-01-boton-primario/20260730T203937Z",
"gate5/prod-baseline-r2/g5-02-navbar-flex/20260730T204044Z",
"gate5/prod-baseline-r2/g5-03-card-producto/20260730T204125Z",
"gate5/prod-baseline-r2/g5-04-tokens-biblioteca/20260730T204133Z",
"gate5/prod-baseline-r2/g5-05-grid-tres-diferenciales/20260730T204253Z",
"gate5/prod-baseline-r2/g5-06-landing-pizzeria/20260730T204311Z",
"gate5/prod-baseline-r2/g5-07-onboarding-mobile/20260730T204324Z",
"gate5/prod-baseline-r2/g5-08-reparacion-grises/20260730T204441Z",
"gate5/prod-baseline-r2/g5-09-brief-ambiguo-escuela/20260730T204538Z",
"gate5/prod-baseline-r2/g5-10-brief-ambiguo-notaria/20260730T204614Z"
]
}
+65
View File
@@ -0,0 +1,65 @@
{
"total": 65,
"nombres": [
"gate5/prod-baseline/g5-01-boton-primario/20260730T172916Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T173054Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T173154Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T173348Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T173445Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T175220Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T175644Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T175753Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T175855Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T175957Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T180102Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T180102Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T180525Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T180627Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T182503Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T182608Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T182706Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T182804Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T182903Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T183005Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T184056Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T184149Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T184315Z",
"gate5/prod-baseline/g5-09-brief-ambiguo-escuela/20260730T184430Z",
"gate5/prod-baseline/g5-10-brief-ambiguo-notaria/20260730T184545Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T185500Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T185524Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T185644Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T185903Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T190011Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T190118Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T190325Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T190422Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T195152Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T195316Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T202853Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T202941Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T203050Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T203125Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T203222Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T203242Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T203420Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T203514Z",
"gate5/prod-baseline/g5-09-brief-ambiguo-escuela/20260730T203547Z",
"gate5/prod-baseline/g5-10-brief-ambiguo-notaria/20260730T203756Z",
"gate5/prod-baseline-r2/g5-01-boton-primario/20260730T203937Z",
"gate5/prod-baseline-r2/g5-02-navbar-flex/20260730T204044Z",
"gate5/prod-baseline-r2/g5-03-card-producto/20260730T204125Z",
"gate5/prod-baseline-r2/g5-04-tokens-biblioteca/20260730T204133Z",
"gate5/prod-baseline-r2/g5-05-grid-tres-diferenciales/20260730T204253Z",
"gate5/prod-baseline-r2/g5-06-landing-pizzeria/20260730T204311Z",
"gate5/prod-baseline-r2/g5-07-onboarding-mobile/20260730T204324Z",
"gate5/prod-baseline-r2/g5-08-reparacion-grises/20260730T204441Z",
"gate5/prod-baseline-r2/g5-09-brief-ambiguo-escuela/20260730T204538Z",
"gate5/prod-baseline-r2/g5-10-brief-ambiguo-notaria/20260730T204614Z",
"gate5/prod-baseline-r3/g5-01-boton-primario/20260730T205024Z",
"gate5/prod-baseline-r3/g5-02-navbar-flex/20260730T205152Z",
"gate5/prod-baseline-r3/g5-03-card-producto/20260730T205252Z",
"gate5/prod-baseline-r3/g5-04-tokens-biblioteca/20260730T205306Z",
"gate5/prod-baseline-r3/g5-05-grid-tres-diferenciales/20260730T205413Z"
]
}
+50
View File
@@ -0,0 +1,50 @@
{
"total": 45,
"nombres": [
"gate5/prod-baseline/g5-01-boton-primario/20260730T172916Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T173054Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T173154Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T173348Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T173445Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T175220Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T175644Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T175753Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T175855Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T175957Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T180102Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T180102Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T180525Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T180627Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T182503Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T182608Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T182706Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T182804Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T182903Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T183005Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T184056Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T184149Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T184315Z",
"gate5/prod-baseline/g5-09-brief-ambiguo-escuela/20260730T184430Z",
"gate5/prod-baseline/g5-10-brief-ambiguo-notaria/20260730T184545Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T185500Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T185524Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T185644Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T185903Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T190011Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T190118Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T190325Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T190422Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T195152Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T195316Z",
"gate5/prod-baseline/g5-01-boton-primario/20260730T202853Z",
"gate5/prod-baseline/g5-02-navbar-flex/20260730T202941Z",
"gate5/prod-baseline/g5-03-card-producto/20260730T203050Z",
"gate5/prod-baseline/g5-04-tokens-biblioteca/20260730T203125Z",
"gate5/prod-baseline/g5-05-grid-tres-diferenciales/20260730T203222Z",
"gate5/prod-baseline/g5-06-landing-pizzeria/20260730T203242Z",
"gate5/prod-baseline/g5-07-onboarding-mobile/20260730T203420Z",
"gate5/prod-baseline/g5-08-reparacion-grises/20260730T203514Z",
"gate5/prod-baseline/g5-09-brief-ambiguo-escuela/20260730T203547Z",
"gate5/prod-baseline/g5-10-brief-ambiguo-notaria/20260730T203756Z"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+7
View File
@@ -1862,6 +1862,13 @@ def run_full(cfg, tools, system_prompt):
f"{str(e)[:200]}") # tirar abajo los 9 prompts restantes
ultimo_error[fila["id"]] = f"{type(e).__name__}: {str(e)[:300]}"
fallaron.append(fila)
# Linea de progreso legible desde afuera, sin parsear el JSON.
r = medidos.get(fila["id"])
if r:
c = r.get("metricas_crudas") or {}
print(f"PROGRESO {len(medidos)} de {len(todos_los_prompts)}, {fila['id']}, "
f"score {r.get('score')}, shapes {c.get('shapeCount')}, "
f"colores {c.get('distinctFillColors')}", flush=True)
volcar(list(medidos.values()), time.time() - t0)
por_medir = fallaron