Laboratorio 5: Research & Spike Engineering Lab
Haz un spike: compara JSON y SQLite para guardar preferencias y deja el aprendizaje registrado. En tu agente escribes tres cosas; en la terminal solo preparas el ejemplo y apruebas.
Con shortcuts
1. Prepara el proyecto de ejemplo
cp -r ~/.rapid-os/examples/research-lab/starter storage-spike && cd storage-spike
git init -b main && git add . && git commit -m "starter"
En Windows PowerShell, la copia es Copy-Item -Recurse $HOME\.rapid-os\examples\research-lab\starter storage-spike. Si instalaste Rapid OS con pip, el ejemplo está en examples/research-lab/starter.
2. Configura el proyecto
Abre tu agente en la carpeta y escribe /rapid-init (en Codex, $rapid-init). Detecta Python y propone python -m unittest discover como comando de tests: acéptalo. Los documentos del proyecto puedes omitirlos en este laboratorio.
3. Pide el trabajo
/rapid-research comparar JSON y SQLite para guardar las preferencias
Un spike no exige baseline ni tests: el agente prueba las dos opciones, guarda los hallazgos de cada tarea con sus fuentes en experiments/<id-de-la-spec>/T00N.md y registra ese archivo como evidencia del run (rapid attach <ruta> --label "…" --task T00N). Si hace falta buscar en la web o consultar documentación, lo hacen las herramientas y los MCP de tu harness; Rapid OS no busca.
4. Aprueba en tu terminal
Cuando el agente termina, se detiene y te da el comando exacto. Ejecútalo en otra terminal, fuera del agente, por ejemplo:
rapid approve gate.final-verification
Vuelve al agente y escribe /rapid-next para cerrar el run.
Resultado: Una comparación con los datos medidos, registrada en el run, y un veredicto pass.
¿No tienes los shortcuts? Una sola vez: rapid shortcuts install --global --harness claude, o dentro de la carpeta rapid init --shortcuts. Detalle en la guía de shortcuts.
Detalles del laboratorio
Estado inicial
storage-spike/
├── experiment.py
└── tests/
├── __init__.py
└── test_experiment.py
En la versión inicial (starter):
StorageExperiment contiene únicamente la firma de método sin lógica ejecutable.
Requisitos
- Implementación de JSON: Escribir y leer 50 registros estructurados mediante
json.dump/json.loads. - Implementación de SQLite: Crear tabla relacional, insertar y consultar los mismos 50 registros utilizando
sqlite3. - Métricas deterministas: Contabilizar registros verificados y tamaño del archivo resultante en bytes.
- Cero dependencias: No añadir paquetes externos de ORM ni frameworks de benchmarks.
Modo avanzado
No lo necesitas para hacer el laboratorio. El mismo ciclo escrito a mano en una terminal, con los comandos de uso diario (rapid start, next, check, task, approve, finish), para CI o auditoría, está en el recorrido manual (Bajo el capó); la plomería (rapid evidence add, rapid run gate) no satisface gates de tests ni humanos y en el ciclo de gobernanza v3.