master
Plan maestro de proyecto: gestiona etapas, fases, partes y cierre (spec 0034).
Uso
navori master <init|mode|ux|status|check|advance|part|template|close|delivery-*> [opciones] [--cwd <path>]
Flags
<slug> Slug en kebab-case para la primera etapa (init); obligatorio solo cuando no hay ninguna etapa activa. <template|en-curso> Modo de la etapa (mode). Solo se puede fijar en fase 'context' y solo en la primera etapa — de la etapa 2 en adelante el modo queda registrado como 'en-curso' automáticamente. ux <none|md|md-json> Registra la decisión del contrato UX de la etapa. Solo se puede fijar en la fase 'ux' y aún no está disponible para el modo entregas. delivery-slice --part <P<n>> [--refresh --approved-by user] Proyecta una parte autorizada en un workplan. --refresh reinicia los criterios pendientes y exige --approved-by user. delivery-queue --delivery <E<n>> --parts <P1,P2> --approved-by user [--transition replacement|continuation] Autoriza una cola acotada de partes para una entrega; las partes se validan contra parts.json. delivery-check | delivery-baseline --approved-by user | delivery-revoke --approved-by user Revisa sin escribir si la preparación está lista (exit 1 con bloqueos), registra la aprobación explícita de la base o revoca la autoridad de la cola. delivery-criterion --part <P<n>> --criterion <A<n>> [--approved-by user] Consume la evidencia del host o, solo en criterios manuales, una atestación explícita (--approved-by user). delivery-review --part <P<n>> --report <archivo> --envelope <archivo> [--approved-by user] Registra la revisión técnica atestada por el operador; el CLI verifica contenido y recibo, no la identidad del revisor ni la ejecución del QA. delivery-present --delivery <E<n>> Registra la identidad de una demo ya revisada técnicamente; no es el consentimiento del cliente. delivery-decision --delivery <E<n>> --identity <id> --decision <accepted|declined|deferred|discarded> [--reason <texto>] [--reference <ref>] --approved-by user Registra la decisión del cliente sobre una identidad revisada; toda decisión distinta de accepted exige --reason. delivery-publication --delivery <E<n>> --identity <id> --kind <release|deploy> --reference <ref> --approved-by user Atesta la referencia de release o deploy de una identidad aceptada, sin ejecutar el despliegue (un merge no cuenta). status [--json|--line] Muestra la etapa y fase actuales; sin opciones regenera STATUS.md. --json y --line son de solo lectura. check [--stage <NN-slug>|--part <P<n>>|--fit [--json]] Valida la salida de la fase activa, una etapa cerrada, una spec de parte o los criterios verificables para convertir a una sola spec. advance Valida la fase activa y avanza una fase cuando se cumplen sus requisitos. part <P<n>> [--state <estado>] [--reason <texto>] [--spec <ruta>] [--issue <n>] Actualiza una parte; --accept, --command, --result y --approved-by registran evidencia de aceptación. template <nombre> [--part <P<n>>] Imprime una plantilla; --part rellena la plantilla issue desde parts.json. close [--convert <ruta>|--abandon] [--reason <texto>] Cierra, convierte o abandona la etapa activa; las etapas cerradas son de solo lectura. --cwd <path> Repo a operar; por defecto el directorio actual. Ejemplos
Abrir la primera etapa
$ navori master init mvp Etapa 01-mvp · fase context Señal: commits=3 primerCommit=2026-08-01 archivosCambiados=12 framework=next sugerido=template
Registrar el modo tras revisar la señal
navori master mode template
Notas
- init crea <sdd.specsDir>/_master/<NN>-<slug>/ con context/raw/ (con su propio .gitignore, fuera de git sin importar gitignoreHarness), context/md/ y plans/, enciende harness.masterPlan y aplica el render.
- Con una etapa ya activa, init (con o sin slug) no crea otra: completa lo que le falte a la activa, reporta su etapa y fase, y sale con 1 si se pidió un slug.
- Falla si sdd.enabled es false, nombrando la clave que hay que activar.
- check --stage inspecciona etapas cerradas; las operaciones que mutan estado solo actúan sobre la etapa activa.
- Los subcomandos delivery-* son del modo entregas: validan las partes contra parts.json y toda aprobación exige --approved-by user. El hook master-accept-confirm pide confirmación humana antes de registrar una aceptación; un agente no puede aprobarse a sí mismo.