Modo Research
El modo Research está orientado a spikes técnicos, evaluación de bibliotecas, pruebas de concepto (PoC) y benchmarks donde el objetivo no es entregar código productivo inmediato, sino responder una duda de diseño o viabilidad.
Con el shortcut /rapid-research
/rapid-research comparar JSON y SQLite para guardar las preferencias
(En Codex: $rapid-research ….) El shortcut conduce el run completo; la instalación y la invocación por harness están en la guía de shortcuts.
Qué hace su playbook (templates/modes/research.json y las reglas del Conductor):
- Un spike es de riesgo bajo: solo queda
gate.final-verification; no hay baseline ni tests obligatorios. - Rapid OS no busca nada por sí mismo: las herramientas de investigación las aporta el harness (búsqueda y lectura web, servidores MCP conectados como Context7 para la documentación de librerías). Cuando un experimento en el repo puede responder la pregunta, el agente lo prefiere a la opinión de un artículo.
- Un resultado de búsqueda no es un archivo: el agente guarda los hallazgos de cada tarea en
experiments/<id-de-la-spec>/T00N.mdcon la pregunta, lo que encontró, sus fuentes (URL o ruta y fecha de consulta) y qué se probó aquí frente a qué solo se leyó, y después adjunta ese archivo. Un hallazgo sin fuente lo dice; las fuentes nunca se inventan. - Los hallazgos se registran con
rapid attach <ruta> --label "…"(evidenciaartifact, productorrapid:attach), vinculada a la tarea en curso (o a la que indiques con--task). - Las tareas se cierran con
rapid task done T00N --no-check, porque no hay tests que ejecutar.
El resto de esta guía describe el mismo ciclo con comandos v3 (Modo avanzado), útil para CI, depuración y auditoría.
Filosofía del modo Research
- Baja fricción: Clasificado como
ExecutionClass.SPIKEcon riesgo bajo (RiskLevel.LOW = 10). - Compuertas flexibles: Permite waivers justificados en compuertas de pruebas o revisiones exhaustivas.
- Entregable centrado en conocimiento: La evidencia primaria suele ser un documento de benchmark, informe comparativo o prototipo experimental (
artifact).
Flujo paso a paso
flowchart LR
Idea["Pregunta técnica / Alternativas"] --> Spec["rapid spec create --mode research"]
Spec --> Context["rapid context --mode research"]
Context --> Run["rapid run create --classification spike"]
Run --> Spike["Exploración & Benchmarks"]
Spike --> Evidence["Registrar Evidencia (artifact)"]
Evidence --> Eval["rapid eval run"]
1. Especificación del Spike
rapid spec create \
--title "Spike comparativo de serializadores JSON para alta concurrencia" \
--mode research \
--objective "Evaluar rendimiento y consumo de memoria entre orjson y msgspec frente a json estándar" \
--scope "Benchmarks aislados en scripts/benchmarks/" \
--acceptance "Reporte cuantitativo con latencia percentil 99 y recomendaciones de migración" \
--task "1. Crear harness de benchmark reproducible" \
--task "2. Medir latencia con payloads de 10KB y 1MB" \
--task "3. Generar informe de hallazgos técnicos" \
--status ready
2. Compilar el Contexto de Investigación
rapid context \
--spec spike-comparativo-de-serializadores-json \
--harness cursor \
--mode research \
--objective "Exploración de librerías alternativas sin modificar código de producción" \
--manifest
3. Crear el Run clasificado como Spike
rapid run create \
--spec spike-comparativo-de-serializadores-json \
--harness cursor \
--classification spike \
--risk low
Al ser un spike de riesgo bajo, la política por defecto minimiza las compuertas obligatorias y permite la entrega ágil de resultados.
4. Capturar Evidencia del Hallazgo (artifact)
Genera el archivo del informe (por ejemplo reports/benchmark.json) y crea el documento de autoría de la evidencia (benchmark-evidence.json):
{
"kind": "artifact",
"producer": "bench-harness",
"summary": "Reporte cuantitativo de benchmarking comparativo",
"artifacts": [
"reports/benchmark.json"
],
"payload": {
"label": "benchmark-summary"
}
}
Registra la evidencia en el run:
rapid evidence add \
--run spike-comparativo-de-serializadores-json-r1-run-001 \
--input benchmark-evidence.json
5. Cierre y Transición al Ciclo Productivo
Ejecuta la evaluación para cerrar formalmente el run:
rapid eval run \
--run spike-comparativo-de-serializadores-json-r1-run-001 \
--write
Una vez concluido el spike de investigación con veredicto satisfactorio, el equipo puede promover las recomendaciones a una especificación de modo feature o refactor para su implementación gobernada en el sistema.