wachi-validacion-usuario

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/wachi-validacion-usuario — validar con usuarios de verdad

/wachi-validacion-usuario — 与真实用户验证

Convertís el contrato de la ficha en una sesión de validación con evidencia: qué se testea, con quién, qué pasó, qué se decidió — todo registrado en RumIAndo, con el loop cerrado a la state machine. La sesión que no se registra no existe; el hallazgo sin evidencia es opinión.
Skill propia (sin fuente externa directa — el modelo de sesión es el de RumIAndo). Principios de conducción robados de garrytan/gstack
office-hours
@ v1.58.0.0 ("mirar, no demostrar"). Re-sync: revisar upstream cada ~2 meses. Aterrizaje en RumIAndo:
skills/wachi-producto/references/aterrizaje-rumiando.md
. Embebé el spine (
_shared/agent-spine.md
): voz directa, anti-slop, quote-the-evidence, completion honesto.
你可以将卡片合约转化为带实证的验证会话:测试内容、参与人员、发生情况、决策结果——所有内容都记录在 RumIAndo 中,并与状态机形成闭环。未记录的会话等同于未发生;无实证的发现只是主观意见。
自研 Skill(无直接外部来源——会话模型采用 RumIAndo 原生模型)。引导原则借鉴自 garrytan/gstack
office-hours
@ v1.58.0.0(“只观察,不演示”)。同步规则:约每2个月检查上游更新。 在 RumIAndo 中的落地文档:
skills/wachi-producto/references/aterrizaje-rumiando.md
。 嵌入 spine 框架(
_shared/agent-spine.md
):语气直接、拒绝冗余、引用实证、如实反馈完成情况。

⚖️ IRON LAW

⚖️ 铁律

MIRÁ, NO DEMUESTRES. Un walkthrough guiado no enseña nada del uso real; ver a alguien trastabillar — mordiéndote la lengua — enseña todo. Y todo hallazgo lleva la evidencia de qué hizo o dijo el usuario, no tu interpretación.
只观察,不演示。 引导式演示无法反映真实使用情况;看着用户磕磕绊绊(哪怕你憋得难受)才能获得全部真相。所有发现都必须附带用户行为或言论的实证,而非你的主观解读。

Fase 0 — Prepará la sesión (desde el contrato)

阶段 0 — 准备会话(基于合约)

  1. Leé la ficha: los requisitos (R-IDs) y flujos (F-IDs) del contrato son las hipótesis a testear. Extraé 3–5 preguntas de la sesión ("¿el técnico encuentra dónde cargar la recorrida sin ayuda?" — conductuales, no de opinión).
  2. Prototipo: el
    prototipo_url
    del fichero (o del release si se valida un corte). Si no hay prototipo y el contrato tiene UI, frenó — pedí el wireframe/prototipo primero (a
    wachi-fabrica
    o al equipo).
  3. Participantes: usuarios reales del actor correcto (los A-IDs del contrato). Un productor no valida el flujo del técnico.
  4. Abrí la sesión en RumIAndo:
    crear_sesion_validacion(id_fichero, fecha, participantes[], prototipo_url, notas)
    — las notas llevan las preguntas de la sesión.
  1. 阅读卡片:合约中的需求(R-IDs)和流程(F-IDs)即为待测试的假设。提炼3-5个会话问题(例如“技术人员能否在无帮助的情况下找到巡检记录上传入口?”——需为行为类问题,而非观点类)。
  2. 原型: 使用文件的
    prototipo_url
    (若验证的是版本切片则使用对应 release 的原型)。如果没有原型但合约包含UI设计,立即暂停——先向
    wachi-fabrica
    或相关团队索要线框图/原型。
  3. 参与人员: 对应角色的真实用户(即合约中的 A-IDs)。生产者角色不能验证技术人员的流程。
  4. 在 RumIAndo 中创建会话:
    crear_sesion_validacion(id_fichero, fecha, participantes[], prototipo_url, notas)
    ——备注中需包含会话问题。

Fase 1 — Conducí (o registrá lo conducido)

阶段 1 — 执行会话(或补录已执行的会话)

Guía de conducción (para el humano que la corre — vos preparás el guion):
  • Tarea, no tour: dale al usuario una tarea real ("cargá la recorrida de ayer") y mirá. No expliques salvo bloqueo total.
  • Preguntas no inductoras: "¿qué esperabas que pasara?" — nunca "¿viste qué fácil que es X?".
  • Cazá la sorpresa: lo que el usuario hace que contradice tus supuestos es el dato más valioso de la sesión.
  • Las palabras del usuario le ganan al pitch: si describe el valor distinto a como lo escribimos en el contrato, su versión es la verdad.
Si la sesión ya ocurrió (transcripción, notas, audio): extraé hallazgos y decisiones de ahí — mismo registro, a posteriori.
会话引导指南(供执行会话的人员参考——由你准备脚本):
  • 给任务,不带逛: 给用户布置真实任务(例如“上传昨天的巡检记录”),然后观察。除非用户完全卡住,否则不要解释。
  • 非引导式提问: 比如“你预期会发生什么?”——绝对不要问“你看X是不是很简单?”。
  • 捕捉意外: 用户做出的与你假设相悖的行为,是会话中最有价值的数据。
  • 用户原话胜过产品话术: 如果用户对价值的描述与我们在合约中的写法不一致,以用户的表述为准。
如果会话已经发生(有转录、笔记、音频):从中提取发现和决策——按相同规则事后补录。

Fase 2 — Registrá (todo, tipado, con evidencia)

阶段 2 — 记录内容(全量、分类、带实证)

Por cada cosa que pasó:
agregar_hallazgo
(sobre la sesión abierta; params exactos en
mis_capacidades
)
  • Tipos:
    ux
    (no encontró/no entendió) ·
    funcional
    (falta o sobra comportamiento) ·
    tecnico
    (roto/lento) ·
    bloqueante
    (impide el valor central).
  • La descripción lleva la evidencia: "[Participante] intentó X, pasó Y — «cita de lo que dijo»". Vinculá la ficha afectada cuando el hallazgo apunta a una ficha concreta (puede ser transversal).
Por cada resolución tomada con el equipo:
agregar_decision
(sobre la sesión; params en
mis_capacidades
)
  • Acciones:
    aceptar
    (la hipótesis validó) ·
    rechazar
    (no va) ·
    iterar
    (vuelve a definición con estos cambios) ·
    derivar
    (abre un ticket/ADR y vinculalo a la decisión).
Cerrá:
cerrar_sesion_validacion
— después del cierre no entran más hallazgos.
针对每一项发生的情况:调用
agregar_hallazgo
(基于当前打开的会话;具体参数见
mis_capacidades
  • 类型:
    ux
    (未找到/不理解)·
    funcional
    (行为缺失或冗余)·
    tecnico
    (故障/缓慢)·
    bloqueante
    (阻碍核心价值实现)。
  • 描述需附带实证: “[参与人] 尝试执行X,结果发生Y —— «用户原话引用»”。如果发现指向某张具体卡片,需关联受影响的卡片(也可能是跨卡片的问题)。
针对每一项与团队共同做出的决议:调用
agregar_decision
(基于当前会话;参数见
mis_capacidades
  • 动作:
    aceptar
    (假设验证通过)·
    rechazar
    (不采纳)·
    iterar
    (返回定义阶段,基于这些发现调整)·
    derivar
    (创建工单/ADR并关联到该决策)。
关闭会话:调用
cerrar_sesion_validacion
——关闭后无法再添加新的发现。

Fase 3 — Procesá las decisiones (el loop que no se cierra solo)

阶段 3 — 处理决策(闭环不会自动完成)

RumIAndo registra pero no transiciona automáticamente — eso es tuyo:
  • aceptar
    sobre la ficha →
    transition_ficha(→VALIDADA)
    + marcá el ítem de DoR "validado con usuario" (
    actualizar_dor_ficha
    ).
  • iterar
    transition_ficha(→BORRADOR)
    y pasale a
    wachi-definicion
    los hallazgos como input (los R-IDs afectados).
  • rechazar
    → charla con el humano: ¿se elimina la ficha (
    eliminar_ficha
    ) o queda en
    PARA_VALIDAR
    esperando otra vuelta? El porqué del rechazo va al contenido de la ficha (y si es aprendizaje durable, a
    wachi-compound
    ).
  • derivar
    → creá el ticket (
    crear_ticket
    ) y, si bloquea la ficha,
    vincular_adr_ficha
    .
  • Hallazgos
    bloqueante
    sin decisión → gate humano (AskUserQuestion): no cierres la corrida con bloqueantes flotando.
Reporte final: qué se testeó, con quiénes, hallazgos por tipo (con evidencia), decisiones tomadas, y en qué estado quedó cada ficha (los
effects
reales). Handoff: ficha
VALIDADA
wachi-validacion-interna
.
RumIAndo 仅负责记录,但不会自动流转状态——这部分需要你操作:
  • 卡片决策为
    aceptar
    transition_ficha(→VALIDADA)
    + 标记DoR中的“已与用户验证”项(调用
    actualizar_dor_ficha
    )。
  • 决策为
    iterar
    transition_ficha(→BORRADOR)
    ,并将发现作为输入传递给
    wachi-definicion
    (标注受影响的 R-IDs)。
  • 决策为
    rechazar
    → 与人工沟通:是删除卡片(调用
    eliminar_ficha
    )还是保留在
    PARA_VALIDAR
    状态等待下一轮验证?驳回原因需写入卡片内容(如果是可沉淀的经验,同步到
    wachi-compound
    )。
  • 决策为
    derivar
    → 创建工单(调用
    crear_ticket
    ),如果该工单阻塞卡片进度,调用
    vincular_adr_ficha
    关联。
  • 存在未决策的
    bloqueante
    类发现 → 人工把关(AskUserQuestion):不要带着悬而未决的阻塞问题结束流程。
最终报告: 测试内容、参与人员、按类型分类的发现(带实证)、做出的决策,以及每张卡片的最终状态(即实际产生的
effects
)。交接:
VALIDADA
状态的卡片 → 移交至
wachi-validacion-interna