|
|
|
|
@ -0,0 +1,97 @@
|
|
|
|
|
---
|
|
|
|
|
title: CONTINUE — Eje agéntico ($agent) · sesión siguiente
|
|
|
|
|
type: process / handoff
|
|
|
|
|
date: 2026-07-22
|
|
|
|
|
branch: alpha-0.1-sec-dom (COMPARTIDA entre sesiones — disciplina abajo)
|
|
|
|
|
plan: PLAN-agent.md (el acta completa, fila a fila)
|
|
|
|
|
doctrina: docs/architecture/agent.md
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# CONTINUE — Eje agéntico (`$agent`)
|
|
|
|
|
|
|
|
|
|
Track del **agente como tal** (la integración por componente pertenece al
|
|
|
|
|
track de cada componente). Todo lo firmado, ejecutado y verificado está
|
|
|
|
|
actado en [`PLAN-agent.md`](PLAN-agent.md); este documento es el punto de
|
|
|
|
|
reanudación.
|
|
|
|
|
|
|
|
|
|
## Estado al cierre (2026-07-22)
|
|
|
|
|
|
|
|
|
|
**Fases cerradas**: F0 doctrina · F1 motor · F3 Aura completa (0–8, audit
|
|
|
|
|
PASS) + promoción `uix.scene` · F4a marco de integración APP (bus + orca +
|
|
|
|
|
página del arte + conformidad documental 13/13 + adaptador real + demo con
|
|
|
|
|
modelo real + presencia perceptible + superficie radial).
|
|
|
|
|
|
|
|
|
|
Commits de la última sesión (todos en `gita/alpha-0.1-sec-dom`):
|
|
|
|
|
|
|
|
|
|
| Commit | Qué |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `fa7189056` | Conformidad bus/orca — `goal` (contenido de usuario) FUERA del bus payload; suscriptor resuelve `App.agent.run(runId)` |
|
|
|
|
|
| `447a87239` | Adaptador `openai-chat` (Ollama/llama.cpp/LM Studio) + carril de iniciativa del bus (hecho→orca→`start({initiative:'system'})`→clamp) |
|
|
|
|
|
| `595040b73` | Aura como superficie de presencia de la demo real (boot uix standalone en agnt, `createActiveAgent`) |
|
|
|
|
|
| `97ae19da5` | Docs de configuración del transporte en la página agnt (opciones + dev-directo vs prod-proxy) |
|
|
|
|
|
| `d008605fa` | `Aura.Indicator` default = efecto **orb** de $scene (el aurora leía estático a 32-48px); `aurora` queda variante |
|
|
|
|
|
| `0ab40cdce` | **Aura al centro de un OnionMenu** — afordancias radiales por estado, auto-open con re-aserción mientras la custodia espera |
|
|
|
|
|
|
|
|
|
|
**Verificado E2E en Chrome real contra qwen3-coder:30b** (Ollama local):
|
|
|
|
|
ciclo completo (3 acts, doc mutado, answer es, bus trail entero) y escalada
|
|
|
|
|
real por `doc.clear` → anillo auto-abierto con orb ROJO al centro → Deny →
|
|
|
|
|
`returned(aborted, user-cancel)` + documento intacto.
|
|
|
|
|
|
|
|
|
|
## Cómo verificar rápido al retomar
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
npm run dev # rutas en web/routes
|
|
|
|
|
npx vitest run src/arts/agent # 30/30
|
|
|
|
|
npx vitest run src/uix/eidos # 353/353
|
|
|
|
|
npm run check # 73 errores = AJENOS preexistentes; 0 propios
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- **`/active/docs/agnt`** — página del arte: playground gated (compuertas) +
|
|
|
|
|
§Real model (demo con modelo real: Aura + OnionMenu radial) + §Configuring
|
|
|
|
|
the transport + §The bus as the initiative axis + vocabulario del bus.
|
|
|
|
|
- **`/uix/components/aura`** — demo canónica de Aura (variant orb/aurora).
|
|
|
|
|
- Entorno del usuario: **Ollama en `:11434`** con `qwen3-coder:30b` (CPU
|
|
|
|
|
mayormente → 2-3 min/turno; paciencia). El `:8080` es **Open WebUI**
|
|
|
|
|
(API keys OFF — NO sirve como endpoint directo).
|
|
|
|
|
|
|
|
|
|
## Siguiente trabajo (en orden)
|
|
|
|
|
|
|
|
|
|
1. **F4b — chat como 2º consumidor** (desbloqueado, siguiente):
|
|
|
|
|
participante con provenance por modelo de mensaje + composer como entrada
|
|
|
|
|
de delegación + árbol de manifiestos `src/uix/agent/components/` +
|
|
|
|
|
guard `agent-check` (D-AG.11) + elicitación materializada
|
|
|
|
|
(Form.AutoFields) + **promoción `uix.agent`** (cierra D-AG.1b). Con el 2º
|
|
|
|
|
consumidor: promover `toJsonSchema` a `$sium` (nota en json-schema.ts) y
|
|
|
|
|
wiring `identity.locale ← prefs`.
|
|
|
|
|
2. **F2 — piloto palabras**: GATED hasta que el track palabras firme sus 4
|
|
|
|
|
ejes F-B. Al abrirse: capacidad tipada contra su API + OCC (_version) +
|
|
|
|
|
write-scope + `allowedFamilies` del primer actuado (reubicada aquí).
|
|
|
|
|
3. **Flecos menores** (ninguno bloqueante):
|
|
|
|
|
- Sector «Deny» del onion salió violeta (esperaba el rojo de `loss`) —
|
|
|
|
|
mirar el vocabulario `OnionColor` (¿auto-assign por nombre no
|
|
|
|
|
reconocido?) si le chirría al usuario.
|
|
|
|
|
- Diferidos con disposición (acta en PLAN §F4a): resumen semántico de
|
|
|
|
|
contexto (F5) · `superseded` por OCC (F2, lado componente) · journal
|
|
|
|
|
por defecto en factory (el app decide vehículo).
|
|
|
|
|
|
|
|
|
|
## Disciplina y gotchas operativos (¡leer antes de tocar!)
|
|
|
|
|
|
|
|
|
|
- **Rama COMPARTIDA entre sesiones concurrentes**: índice y working
|
|
|
|
|
compartidos — staging puede evaporarse. Commits SIEMPRE en un bloque
|
|
|
|
|
atómico `git reset -q && git add <paths explícitos> && verify && commit`.
|
|
|
|
|
Jamás amend. Ficheros mixtos con trabajo ajeno: stagear solo lo mío.
|
|
|
|
|
contracts.test tiene 2 fallos AJENOS conocidos (menubar/radio-group).
|
|
|
|
|
- **Sesión paralela regenerando rutas** → full reload del dev server que
|
|
|
|
|
MATA runs en vuelo de las demos. No es bug propio.
|
|
|
|
|
- **Pane oculto**: no dispara clicks reales (sonda sintética `el.click()`
|
|
|
|
|
como diagnóstico) y congela rAF (canvas del orb sin pintar — el pintado se
|
|
|
|
|
verifica en Chrome real SIEMPRE; regla dura re-aprendida esta sesión con
|
|
|
|
|
el `halo` descartado: MIRAR el render antes de enseñar).
|
|
|
|
|
- **Chrome MCP**: coords de screenshot ≠ viewport con zoom/scroll (clicks
|
|
|
|
|
fantasma que cierran menús por outside-click) — para sectores SVG usar
|
|
|
|
|
DOM dispatch (`pointerdown`+`pointerup`+`click`) tras localizar el path.
|
|
|
|
|
- **Bus payloads = SOLO metadata** (higiene fa7189056): jamás goal ni
|
|
|
|
|
contenido de usuario; el suscriptor resuelve del módulo por `runId`.
|
|
|
|
|
- El adaptador openai-chat: Ollama **reutiliza `index:0`** para todas las
|
|
|
|
|
tool calls del stream — una call nueva se detecta por `id` distinto,
|
|
|
|
|
jamás por index (test que lo reproduce en adapters/openai-chat.test.ts).
|