fix: guard do /onboarding invertido — recusava o caso principal (app real nunca absorvido) - #29
Merged
Merged
Conversation
…pós o absorb) + rotas de sistema nunca onboardado apontam /onboarding Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
elberrd
added a commit
that referenced
this pull request
Aug 17, 2026
… retomada, --report-only) (#30) A alpha.12 foi publicada às 20:07 de hoje, ANTES dos merges do /onboarding (#27 às 20:37, #28 e #29 depois) — o pacote publicado não tem nada do comando novo. Mesma versão devolve E403, então o bump é o caminho. Delta desde a alpha.12 publicada: o comando /onboarding inteiro (prompt Pi + registro em SKILL.md/fia.js/finish.js/mode.js/README/DOCS), o trilho de retomada no decision log + modo expresso --report-only, e o fix do guard invertido do project-mode (+ funil idea/guide/feature/stack apontando /onboarding). Testes: 746 passando, lint limpo. Tarball: npm pack --dry-run com 184 arquivos, 424.9 kB, onboarding.md incluído. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O bug (achado no double-check)
O passo 0 do /onboarding exigia
mode === brownfielddoproject-mode.mjs— mas o script só devolvebrownfieldDEPOIS do onboarding (map.yaml, task-master ou PRD-as-built presentes). Um app existente recém-instalado, nunca absorvido, reportagreenfield— por design: o próprio header do script diz que reconhecer app real não absorvido "fica com a IA" (código não distingue starter de produto). Resultado: o comando parava com "nothing to absorb" exatamente no cenário para o qual foi criado.O fix
Guard reescrito nos 3 arquivos (prompt Pi + variantes .cursor/.claude no harness, commit a1db4e7): o script fornece a evidência; o agente decide a pergunta de entrada — "há uma aplicação REAL aqui (código feito à mão, não o starter)?". App real → segue (brownfield já absorvido também, com o skip por estágio); sem app real → roteia em uma linha (/idea sem PRD real; /grill→/map — /start no harness — com PRD real e nada construído).
Alinhamento do funil (mesma varredura)
Rotas antigas que mandavam sistema nunca onboardado direto ao /absorb agora preferem /onboarding:
idea.md(nota greenfield/ideation) eguide.md(sonda 5) → "/onboarding first"feature.md(Pi + .cursor + .claude) → "/onboarding first (or /absorb alone for just the map)"src/steps/stack.js(info do installer) esrc/lib/stack.js(label brownfield do manifesto stack.md)Verificado sem problemas
Contratos de CLI citados nos prompts conferidos contra os scripts reais (
decision-log.mjsopen/note/close/latest + regex de nome +--jsondevolve null gracioso;docs-commit.mjs --message;project-mode.mjs --json); paridade byte-a-byte das variantes .cursor/.claude (só frontmatter + paths); symlink.agents; 24 prompts = header do DOCS §12.1; prompt no tarball do npm pack. Lição registrada no lessons.md (local).Testes
npm test— 746 pass, 0 fail ·npm run lintlimpo🤖 Generated with Claude Code