specsfy-04-validate

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Validar a especificação

验证规范

Modo de interação

交互模式

Modo de interação:
perguntas
. Antes de formular qualquer pergunta, leia e aplique o
Contrato de perguntas numeradas
de
.specsfy/Spec.md
.
Trate
spec.md
como a única fonte da verdade e como código em linguagem natural: verifique primeiro o formato rígido, depois clareza, completude, consistência e testabilidade semanticamente.
交互模式:
perguntas
。 在提出任何问题之前,请阅读并应用
.specsfy/Spec.md
中的
编号提问协议
spec.md
视为唯一的事实来源和自然语言代码:首先检查严格格式,然后从语义上检查清晰度、完整性、一致性和可测试性。

Orquestrar a conversa

对话编排

Ao concluir esta etapa ou detectar trabalho de outra etapa, anuncie
Pendência detectada: <descrição> — ação: resolvendo nesta etapa
e resolva-a quando pertencer ao próprio escopo. Quando houver troca de responsabilidade, anuncie
Transição automática: $specsfy-04-validate → $<destino> — motivo: <motivo> — resultado esperado: <resultado>
e carregue imediatamente a skill de destino, sem pedir confirmação nem repetir o comando. Continue na mesma conversa. Depois de uma correção necessária a esta etapa, anuncie
Retomada automática: $<destino> → $specsfy-04-validate — pendência resolvida: <resultado>
e retome-a imediatamente. Reavalie o estado após cada handoff para evitar ciclos. Não peça confirmação para o handoff; ações sensíveis continuam exigindo autorização específica.
完成本阶段或检测到其他阶段的工作时,请宣布
Pendência detectada: <描述> — 行动: 本阶段内解决
,并在属于自身范围时予以解决。当需要移交责任时,请宣布
Transição automática: $specsfy-04-validate → $<目标> — 原因: <原因> — 预期结果: <结果>
,并立即加载目标skill,无需请求确认或重复命令。继续在同一对话中进行。在本阶段需要修正后,请宣布
Retomada automática: $<目标> → $specsfy-04-validate — 已解决待办: <结果>
,并立即重新开始。每次移交后重新评估状态,避免循环。无需请求移交确认;敏感操作仍需特定授权。

Executar a validação

执行验证

  1. Resolva
    specs/<estado>/<NNNN>-<slug>/spec.md
    pelo caminho informado; se houver várias specs e nenhum slug, pergunte qual validar.
  2. Confirme
    Formato: Specsfy/2.0
    , os três atos na ordem, slug igual ao diretório e pacote restrito a
    spec.md
    e ao diretório opcional
    research/
    .
  3. Para toda API ou documentação externa consultada, confirme uma evidência local em
    research/
    e seu índice em
    Artefatos de pesquisa armazenados
    ; esse material é informativo, nunca uma segunda fonte normativa.
  4. Enquanto
    Status
    ou
    Definition Gate
    ainda estiverem pendentes, execute:
bash
node .agents/skills/specsfy-04-validate/scripts/validate_spec.mjs specs/<estado>/<NNNN>-<slug>/spec.md --allow-draft
  1. Leia
    references/quality-gates.md
    e faça a revisão semântica.
  2. Compare research, requisitos, BDD, plano técnico, modelo de dados, contratos, TDD, matriz e tarefas. Confirme no mínimo três
    AC
    distintos para a feature inteira e para cada
    US
    ,
    FR
    e
    NFR
    ; não confunda “arquivo bem formatado” com “especificação correta”.
  3. Quando produto, arquitetura ou segurança forem materiais, leia
    references/review-lenses.md
    , registre findings na seção 13 e execute
    scripts/review_findings.mjs
    .
    P1 Open
    mantém o gate pendente.
  4. Se a definição alterar stack ou persistência, exija que a Definition of Done cite respectivamente
    .specsfy/STACK.md
    ou
    .specsfy/DATABASE.md
    . Para mudança material de finalidade ou capacidade, exija revisão de
    PROJECT.md
    ; para regra nova confirmada, exija
    .specsfy/RULES.md
    .
  1. 根据指定路径解析
    specs/<estado>/<NNNN>-<slug>/spec.md
    ;如果存在多个spec且未指定slug,请询问要验证哪一个。
  2. 确认
    格式: Specsfy/2.0
    、三个幕(ato)的顺序、slug与目录名称一致,且仅包含
    spec.md
    和可选的
    research/
    目录。
  3. 对于所有查询过的API或外部文档,确认
    research/
    目录中有本地证据,且在
    存储的研究工件
    中有其索引;此类材料仅作参考,绝不能作为规范性的第二来源。
  4. 状态
    Definition Gate
    仍处于待处理状态时,执行:
bash
node .agents/skills/specsfy-04-validate/scripts/validate_spec.mjs specs/<estado>/<NNNN>-<slug>/spec.md --allow-draft
  1. 阅读
    references/quality-gates.md
    并进行语义审查。
  2. 对比研究资料、需求、BDD、技术方案、数据模型、契约、TDD、矩阵和任务。确认整个功能以及每个
    US
    FR
    NFR
    至少包含三个不同的
    AC
    ;请勿将“格式正确的文件”与“正确的规范”混淆。
  3. 当产品、架构或安全相关内容为关键项时,请阅读
    references/review-lenses.md
    ,在第13节记录发现,并执行
    scripts/review_findings.mjs
    P1 Open
    状态会使Gate保持待处理。
  4. 如果定义变更了技术栈或持久化方式,要求完成定义(Definition of Done)分别引用
    .specsfy/STACK.md
    .specsfy/DATABASE.md
    。对于用途或能力的重大变更,要求审查
    PROJECT.md
    ;对于已确认的新规则,要求更新
    .specsfy/RULES.md

Classificar achados

分类发现结果

  • BLOCKER
    : impede tarefa ou teste correto; requisito contraditório, sem comportamento observável, decisão de alto impacto ausente ou cenário principal não coberto.
  • WARNING
    : aumenta retrabalho ou risco, mas admite implementação segura.
  • NOTE
    : melhoria editorial sem efeito material.
Para cada achado, cite seção ou ID, explique o impacto e proponha uma correção concreta.
  • BLOCKER
    :阻碍正确的任务执行或测试;存在矛盾的需求、无可观察的行为、缺失高影响决策或未覆盖主场景。
  • WARNING
    :增加返工或风险,但仍可安全实现。
  • NOTE
    :仅为编辑性改进,无实质性影响。
对于每个发现结果,请引用章节或ID,说明影响并提出具体的修正建议。

Gate

Gate结果

Retorne exatamente um resultado:
  • READY
    : nenhuma falha de formato e nenhum
    BLOCKER
    sem resolução.
  • NOT READY
    : qualquer falha estrutural ou
    BLOCKER
    .
Inclua contagens, cobertura mínima
US/FR/NFR ↔ 3 ACs
e os três achados mais importantes e a transição automática:
  • READY
    $specsfy-05-tasks
    para planejar a seção 14;
  • NOT READY
    → retorno a
    $specsfy-02-backlog
    quando faltar decisão; a o refinamento do backlog executa seu ciclo completo e esta validação só é retomada depois de fechar as lacunas ou registrar a saída explícita
    avançar
    ; após essa saída, registre
    NOT READY
    e não reabra o mesmo ciclo nesta retomada; quando a correção já estiver decidida, use
    $specsfy-update-spec
    para uma spec anteriormente aprovada e
    $specsfy-03-specify
    para a definição inicial.
Anuncie o motivo e carregue imediatamente a skill escolhida.
返回以下精确结果之一:
  • READY
    :无格式错误,且所有
    BLOCKER
    均已解决。
  • NOT READY
    :存在任何结构错误或未解决的
    BLOCKER
需包含计数、最低覆盖要求
US/FR/NFR ↔ 3 ACs
、三个最重要的发现结果以及自动过渡指令:
  • READY
    $specsfy-05-tasks
    ,用于规划第14节;
  • NOT READY
    → 当缺少决策时,返回至
    $specsfy-02-backlog
    ;待办事项的细化需完成完整周期,且仅在填补空白或明确记录
    推进
    结论后,才可重新进行本次验证;记录该结论后,标记为
    NOT READY
    ,且在本次重新验证中不再开启同一循环;当修正方案已确定时,对于先前已批准的spec使用
    $specsfy-update-spec
    ,对于初始定义使用
    $specsfy-03-specify
宣布原因并立即加载所选skill。

Registrar no arquivo único

在单一文件中记录

Sem alterar requisitos automaticamente:
  1. atualize
    Gate do Ato I — Definição
    na seção 13 com resultado, data e achados;
  2. em
    READY
    , defina
    Definition Gate: Passed
    e
    Status: Defined
    ;
  3. em
    NOT READY
    , defina
    Definition Gate: Failed
    ,
    Plan Gate: Pending
    ,
    Delivery Gate: Pending
    e mantenha
    Status: Draft
    ;
  4. execute novamente
    validate_spec.mjs specs/<estado>/<NNNN>-<slug>/spec.md
    sem
    --allow-draft
    quando o gate passar;
  5. relate o resultado no chat.
Quando o Definition Gate passar, execute
specsfy transition <id> defined
. Em
review
, use a mesma análise para o aceite final. Com Delivery Gate passado, Status
Complete
e a DoD comprovada, execute
specsfy transition <id> completed
. Antes disso, chame
$specsfy-interviewer
quando uma resposta puder mudar a entrega ou o Effort.
Se o usuário pedir correções, edite as seções de origem, preserve IDs e revalide. Nunca crie outro arquivo de especificação ou validação.
请勿自动修改需求:
  1. 在第13节更新
    第一幕Gate — 定义
    ,记录结果、日期和发现结果;
  2. 若为
    READY
    ,设置
    Definition Gate: Passed
    Status: Defined
  3. 若为
    NOT READY
    ,设置
    Definition Gate: Failed
    Plan Gate: Pending
    Delivery Gate: Pending
    ,并保持
    Status: Draft
  4. 当Gate通过时,再次执行不带
    --allow-draft
    参数的
    validate_spec.mjs specs/<estado>/<NNNN>-<slug>/spec.md
  5. 在聊天中报告结果。
当Definition Gate通过时,执行
specsfy transition <id> defined
。 在
review
阶段,使用相同分析进行最终验收。当Delivery Gate通过、状态为
Complete
且已证明完成定义(DoD)时,执行
specsfy transition <id> completed
。 在此之前,当某个回答可能影响交付或工作量(Effort)时,请调用
$specsfy-interviewer
如果用户要求修正,请编辑原始章节,保留ID并重新验证。请勿创建其他规范文档或验证文件。

Enforcement do repositório

仓库强制执行

Use o mesmo runner localmente e no CI:
bash
node .agents/skills/specsfy-04-validate/scripts/verify_repo.mjs . \
  --boundary local --timeout-seconds 300 --max-output-bytes 65536
As fronteiras
local
,
git
e
ci
não mudam a política.
--attestation PATH
é a única forma de persistir uma atestação;
--self-test
executa canários em diretório temporário e nunca produz binding probatório. A atestação schema 2 liga commit, digest executável, checks aprovados, tarefas e hashes de arquivos. O digest cobre comandos, limites e os arquivos da política. Não aceite um gate que passa em apenas uma fronteira, excede limites ou trunca diagnóstico sem marcar
truncated
.
O contrato do catálogo exige as treze skills base,
specsfy-setup
,
specsfy-documentator
e as três
specsfy-aux-*
; também valida cada
specsfy-specialist-*
instalada, sem impor um total máximo de especialistas. O Gherkin BDD é referência exclusiva da
spec.md
: o enforcement nunca executa
.feature
. Ele executa os testes derivados com Pest em projetos PHP, inclusive PHP + Node. Em projeto Node sem PHP, exige um script
test:tdd
; quando ausente, falha orientando a skill a perguntar ao usuário e sugerir Vitest.
在本地和CI中使用相同的运行器:
bash
node .agents/skills/specsfy-04-validate/scripts/verify_repo.mjs . \
  --boundary local --timeout-seconds 300 --max-output-bytes 65536
local
git
ci
边界不会改变策略。
--attestation PATH
是保存证明的唯一方式;
--self-test
在临时目录中执行测试用例,绝不会产生具有约束力的证据。版本2的证明模式关联了提交记录、可执行文件摘要、已通过的检查、任务和文件哈希。摘要包含命令、限制和策略文件。请勿接受仅在单一边界通过、超出限制或未标记
truncated
就截断诊断信息的Gate。
目录契约要求包含13个基础skill、
specsfy-setup
specsfy-documentator
以及三个
specsfy-aux-*
;同时验证每个已安装的
specsfy-specialist-*
,不限制专家的总数。 Gherkin BDD是
spec.md
的唯一参考:强制执行流程绝不会执行
.feature
文件。在PHP项目(包括PHP + Node)中,它会执行基于Pest的衍生测试。在无PHP的Node项目中,要求提供
test:tdd
脚本;若缺失,则触发skill询问用户并建议使用Vitest。

Especialistas sob demanda

按需专家

Leia references/specialists.md quando um gate depender de revisão técnica específica. Instalação é recomendação explícita, nunca efeito colateral da validação.
当Gate需要特定技术审查时,请阅读references/specialists.md。安装是明确的建议,绝不能是验证的附带结果。